ネットワークプログラミング相談室 Port6
■ このスレッドは過去ログ倉庫に格納されています
0367デフォルトの名無しさん
NGNG今ファイル送受信 プログラムを作っているのですが、送受信を同時にすると止まってしまいます
・まずは コネクト確立。ソケットを作成
・自分が送信
・相手もこっちに送信
とやると、sendから -1しか返ってこなくなってしまいます
固まる理由はわかっていて、ファイル送信途中 でとあるヘッダ(8バイト)を渡すために無理やり無限ループしているところヘッダが破損しては
困るので8バイト渡すまでsend部分をループさせてるのです(Sleep(2)あり)
ここからは素人考え
受信に一杯一杯だとsendは失敗する
だから8バイトとはいえ無限ループしているところのsendで失敗を繰り返してしまい固まる
何故なら無限ループ中はrecvしていないから
この推測は当たっているでしょうか?
recvに手一杯だとsendは失敗してしまうのでしょうか?
また、これの解決方法は?(ソケット2つつくる…とか?)無限ループやめろはごもっともですが・・・
■ このスレッドは過去ログ倉庫に格納されています