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

反対側のテーブルを同じ順序で再構築する必要がありますか? その場合は、配列の位置を送信する必要があります。そうでない場合は、すべての文字列を好きな順序で送信するだけで、クライアントが挿入できます。

最も簡単な方法は、テキスト モードで送信することですが、クライアント エンドでの作業が少し増えることがよくあります。個人的には、テーブル サイズと予想される文字列の数を送信し、1 行に 1 つのエントリを送信します。

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 に答える