簡體   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