User manual - デバイス制御ライブラリリファレンスマニュアル(2014年10月10日)
303
17.2.13 net_send
指定済みの相手先にデータを送信します。
int net_send (
int
socket
,
char *
buf
,
int
buflen
,
int
flags
)
パラメータ
socket
ソケット番号を指定します。
buf
送信データ格納領域を指定します。
buflen
送信データの長さを指定します。
flags
UDP ソケットの場合は、0 を指定してください。
TCP ソケットの場合は、下記オプションを指定します。
MSG_OOB
:TCP 緊急データとして送信します。
戻り値
正常終了した場合は、送信に成功したデータの長さを返します。
エラーの場合は、-1 を返します。エラーの詳細は、net_getsockerr関数で取得してください。
説明
あらかじめ net_connect関
数で接続した相手先にデータを送信します。
本関数は、ソケット種別により処理が異なります。
• TCP ソケットの場合
buf
で指定されたデータを
buflen
だけ TCP 送信バッファに全てコピーした時点で関数から返ります。
• UDP ソケットの場合
buf
で指定されたデータを 1 つの UDP パケットにコピーした時点で関数から返ります。
buflen
に渡すことができる最大長は 65,000byte までです。ただし、1 つの IP パケットサイズに入りき
らない場合は、複数の IP フラグメントパケットを使用して送信されます。
未 bind 状態でこの関数を呼んだ場合、内部的に自 IP アドレス自動設定、自ポート番号自動割当の
設定で bind を行います。