win sockで質問が あります
今ファイル送受信 プログラムを作っているのですが、送受信を同時にすると止まってしまいます

・まずは コネクト確立。ソケットを作成
・自分が送信
・相手もこっちに送信

とやると、sendから -1しか返ってこなくなってしまいます
固まる理由はわかっていて、ファイル送信途中 でとあるヘッダ(8バイト)を渡すために無理やり無限ループしているところヘッダが破損しては
困るので8バイト渡すまでsend部分をループさせてるのです(Sleep(2)あり)

ここからは素人考え
受信に一杯一杯だとsendは失敗する
だから8バイトとはいえ無限ループしているところのsendで失敗を繰り返してしまい固まる
何故なら無限ループ中はrecvしていないから

この推測は当たっているでしょうか?
recvに手一杯だとsendは失敗してしまうのでしょうか?
また、これの解決方法は?(ソケット2つつくる…とか?)無限ループやめろはごもっともですが・・・