使用带有套接字的TCP服务器/客户端设置,我如何将哈希表的内容从服务器发送到客户端?
我正在寻找的格式就像IP address: content
。
答案 0 :(得分:0)
您是否需要以相同的顺序重建另一端的表格?如果是这样,您需要发送阵列位置。如果没有,您可以按照您喜欢的任何顺序发送所有字符串,客户端可以插入。
最简单的方法是发送文本模式,尽管这通常会在客户端进行更多的工作。就个人而言,我会发送表格大小以及期望的字符串数量,并且每行发送一个条目:
117 5
puppy
kitten
cub
joey
duckling
如果我也需要阵列位置,那么在文本中发送它们也没有错(但你可能更喜欢二进制):
117 5
8 puppy
42 kitten
57 cub
101 joey
105 duckling
答案 1 :(得分:0)
我建议您使用msgpack二进制序列化格式打包哈希表,通过套接字发送并在另一端解压缩。
e.g。在Ruby中(这只是一个例子 - many other languages上有msgpack!)这会给出:
require "msgpack"
> msg = {"192.0.2.1"=>"foo", "192.0.2.2"=>"bar"}.to_msgpack
=> "\x82\xA9192.0.2.1\xA3foo\xA9192.0.2.2\xA3bar"
> msg.bytesize
=> 29