0

使用带有套接字的 TCP 服务器/客户端设置,我将如何将诸如哈希表的内容从服务器发送到客户端?

我正在寻找的格式是IP address: content.

4

2 回答 2

0

我建议你用msgpack二进制序列化格式打包你的哈希表,通过你的套接字发送它并在另一端解压它。

例如在 Ruby 中(这只是一个示例 - 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
于 2012-09-27T08:24:14.633 回答
0

您是否需要以相同的顺序重建另一端的表?如果是这样,您需要发送数组位置。如果没有,您可以按照您喜欢的任何顺序发送所有字符串,客户端可以插入。

最简单的方法是以文本模式发送,尽管这通常会在客户端增加一点工作。就个人而言,我会发送表格大小以及预期的字符串数量,并每行发送一个条目:

117 5
puppy
kitten
cub
joey
duckling

如果我也需要数组位置,那么以文本形式发送它们也没有错(但您可能更喜欢二进制):

117 5
8 puppy
42 kitten
57 cub
101 joey
105 duckling
于 2012-09-27T05:25:21.727 回答