send,recv 〜TCP/IP通信 クライアント編3 データの送受信〜


目次に戻る


うまくconnectができたら、後はサーバとの間でデータを送受信するだけです。データの送 信には send 、受信には recv を使用します。引数は次の通り
  1. ソケットハンドル(ファイルディスクリプタ)
  2. データのポインタ
  3. データのサイズ
  4. オプション(0でOK)
 
/* 送信 */
char buff[]="abcdefg";

send( fd , buff , sizeof(buff) , 0 );

/* 受信 */
char buff[20];
 
recv( fd , buff , sizeof(buff) , 0 );
ただし、問題があります。前回紹介したconnectもそうなのですが、これらの関数は処理 が成功するまでブロックしてしまうのです。つまり、ここで処理が止まってしまうわけです。
ブロックしたくない場合の回避方法は次回以降で紹介します。


目次に戻る