Project1

标题: 自制ruby服务器可以实现加法的计算! [打印本页]

作者: guoxiaomi    时间: 2016-1-8 14:48
标题: 自制ruby服务器可以实现加法的计算!
本帖最后由 guoxiaomi 于 2016-1-8 14:51 编辑

不知道有没有发错区……

若干年前,从这个网站上弄到了一个联机教程,还加了那个qq群,后来群主觉得大家都在潜水就把群关了。

原来的教程是开2个RMXP,一个做服务器一个做客户端,但是总觉得RMXP做服务器特别蛋疼,所以写了个ruby的服务器。。。

吐槽一下,RM站上各种简单联机教程……似乎就这一个没有明显bug……

没有RTP的附件:
RM与ruby通信-02.zip (1014.03 KB, 下载次数: 125)

server0.rb
RUBY 代码复制
  1. require 'socket'
  2. class Server_for_RM
  3.         attr_reader :run_times
  4.         def initialize(ip,port)
  5.                 @run_times = 0
  6.                 start_server(ip,port)
  7.         end
  8.         # 这个函数是从ruby教科书上抄的
  9.         def start_server(ip,port)
  10.                 server = TCPServer.new(ip,port)
  11.                 loop do
  12.                   Thread.start(server.accept) do |client|
  13.                         text = client.recv_nonblock(1024)
  14.                         print "#{@run_times}\nAccepted connection from #{client.peeraddr[2]}\n\t>>#{text}\n"
  15.                         text_r = return_msg(text)
  16.                         # "&|--|&":分割符;
  17.                         # rand().to_s:增长数据;
  18.                         # "over":数据结尾
  19.                         client.puts text_r+"&|--|&"+rand().to_s+"over"
  20.                         print "\t<<#{text_r}\n"
  21.                         print "Closing connection to #{client.peeraddr[2]}\n\n"
  22.                         client.close
  23.                         @run_times += 1
  24.                   end
  25.                 end
  26.         end
  27.         # 处理数据的函数
  28.         def return_msg(text)
  29.                 # 除去传来数据末尾的over
  30.                 text.gsub!(/over$/,"")
  31.                 # 如果传来的数据是'XXX+XXX'
  32.                 if text =~ /^[0-9]+\+[0-9]+$/
  33.                         ary = text.split("+")
  34.                         return "#{ary[0].to_i+ary[1].to_i}"
  35.                 else
  36.                         return text
  37.                 end
  38.         end
  39. end
  40. # 这里修改ip和端口
  41. Server_for_RM.new('127.0.0.1',9701)


客户端传'XXXX+XXXX'形式的字符串给服务器,然后服务器把加得的结果返回……

(如图)


作者: taroxd    时间: 2016-1-11 13:06
毕竟 ruby 这语言的最大应用就是做后端嘛= =
作者: 锡鹏    时间: 2016-1-13 15:34
这个是不是连接你那个服务器的??




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1