- - PR -
通信パケットの受信について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-08-02 09:05
TCP/IP通信の非同期でのパケット受信するプログラムを作っています。
そこで、パケットが数回に分けて送られてくることがあるのですが、下の2つのメッセージが1回に受信してしまうことがあるのですが、どう処理したらいいのでしょうか。 □□□□□■■■ ■■■■■○○○ ○○○○○ 受信するサイズが多すぎるのですべてバッファすることができない状況です。 そこで、メッセージ送信側に送信するごとにスリープをしてもらい通信は必ず1メッセージづつ送ってもらっている状況です。 機能面からもあまりよくないと思うので何か解決方法はあるのでしょうか? | ||||
|
投稿日時: 2008-08-02 10:24
TCP/IP通信では「パケット」という概念では処理できません。 送受信はストリームであり、一回の受信で取得できる量は一定ではありません。 #これはファイルの入出力も同じです。 バッファに蓄えたり、 ストリーム内部にメッセージサイズを含めたり、 受信サイズに依存しないよう組むしかありません。 TCPでの通信としては基本ですので、 入門書・入門サイトなどで勉強するといいでしょう。 |
1