我需要创建一个数据包,并将其发送到Minecraft服务器。数据包需要以特定的方式打包。我用python实现了这一点,但是ruby似乎把我给弄丢了。
下面是打包它的Python代码:
def short(data):
return pack('>h',data)
def shortchar(data):
return pack('>H',ord(data))
def string16(data):
chars = ''.join([shortchar(i) for i in data])
return short(len(data))+chars
packetbytes = '\x02\x33' + string16(name) + string16(host) + '\x00\x00\x63\xdd'这是Ruby,我该怎么做?
发布于 2013-01-13 13:01:27
试试这个:
def string_16(data)
[data.size].pack('s>') + data.split('').map(&:ord).pack('S>*')
end
packet_bytes = "\x02\x33" + string_16(name) + string_16(host) + "\x00\x00\x63\xdd"https://stackoverflow.com/questions/14300079
复制相似问题