ホストに接続された同じソケットを send() と recv() に 2 回使用したい場合、recv() はバッファに何もない状態で 0 を返します。
基本的に私はやっています:
- ウェブサイトに接続する
- パケットを送信
- パケットを受信
- パケットを再度送信します(SOCKET_ERRORが表示されないため、これは機能していると思います)
- 再びパケットを受信します (これは「接続が閉じられている」ため 0 を返しています)
ソースコード: http://pastebin.com/sm5k5GAe
ご覧のとおり、私は sock2 を持っています。これを 2 番目の送信/受信に使用すると問題なく動作しますが、より多くの通信を行い、そのすべてにソケットを用意してそれらを接続するのはちょっとばかげていると思います