0
我正在嘗試創建一個使用TCPSocket與w/a Minecraft服務器進行通信的ruby腳本,並返回名稱,當前玩家數量和玩家人數。到目前爲止,我有以下代碼解析來自TCPSocket的響應
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
。這讓我回到了所有的信息,但只有當我想要的是一個散列時。如何擺脫奇怪的字符並將信息放入哈希中?
什麼是響應格式一樣(例如,它是一個HTTP服務器)?你能發佈一個實際的響應例子嗎? –
這是一個我的世界服務器。我提供了所有我正在使用的代碼以及返回給我的確切字符串。如果您想自己測試,可以使用IP 192.241.174.210 –
您需要實施該協議。你不能只是說「擺脫奇怪的人物」而不知道他們的意思。去網上了解協議,將這些「奇怪的人物」分解成他們的意思,並且當你這樣做的時候,如果你願意的話,把它扔到哈希中。沒有魔法。另外,請查看您的其他問題的PHP示例,瞭解它們如何實現。 – xaxxon