UDPでの受信処理

解決


GOジャグ  2005-01-25 10:28:20  No: 56152

よろしくお願いします。

UDPでのソケット通信で受信処理についての質問です。
クライアントから24バイトのデータを送信しています。

サーバ側で受信するときにrecvfromを使ってますが
受信サイズを1バイトにするとrecvfromでエラーが帰ってきます。
TCPでは1バイトずつ受信できました。

開発環境は
VC++.NET
Windows2000です。

宜しくお願いします。


KING・王  2005-01-25 17:02:06  No: 56153

とりあえず、どんなエラーが返ってきますか?

recvfrom()の戻り値と、WSAGetLastError()の結果ぐらいは載せましょう。


GOジャグ  2005-01-25 20:28:04  No: 56154

KING・王さんありがとうございます。

>recvfrom()の戻り値と、WSAGetLastError()の結果ぐらいは載せましょう。

ですね。(~_~メ)

recvfromの戻り値は−1
WSAGetLastErrorの値は 10040です。
調べたところ『メッセージが長すぎるエラー』
だと思うのですが
できれば1バイトづつ終了文字が出るまで受信という処理に
したいので出来る方法があればご教授願います。


YuO  2005-01-25 21:21:55  No: 56155

UDPはフレーム境界を維持します。
そのため,24 octetのデータを送信してきたのであれば,
24 octetのデータとして受信しなければいけません。


GOジャグ  2005-01-25 22:37:04  No: 56156

>UDPはフレーム境界を維持します。
>そのため,24 octetのデータを送信してきたのであれば,
>24 octetのデータとして受信しなければいけません。

そうですか。
24 octetのデータとして受けるよう修正します。

YuOさん、KING・王さん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加