繁体   English   中英

从TCPSocket解析响应

[英]Parsing response from TCPSocket

我正在尝试创建一个使用TCPSocket与Minecraft服务器通信的ruby脚本,并返回名称,当前播放器数量和最大播放器数量。 到目前为止,我有以下代码

require 'socket'

class MinecraftServer
  def self.ping(ip, port = 25565)
    server = TCPSocket.new ip, port

    server.write "\xfe"

    response = []
    while line = server.gets
      response << line
    end

    server.close 

    response = response.join

    response
  end
end

puts MinecraftServer.ping('xxx.xxx.xxx.xxx')

这给了我诸如 A Minecraft Server 0 20类的东西。 这给了我所有的信息,但是当我想要的是哈希值时,我却得到了回报。 如何摆脱奇数字符并将信息放入哈希?

这是完全做到这一点的ruby代码示例:

https://gist.github.com/4poc/6281388

该页面的链接描述了协议是什么:

http://wiki.vg/Server_List_Ping

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM