Network 0x59


パケット送信


【機能】

 指定された宛先に、指定データをUDP送信します。

【関数】

 int SendTo( int sck, char *data, int size, int *to )
 {
   return trapa_svc( 0x59, pid, data, size, to );
 }

【入力】

 sck ソケット番号 「ソケット」ファンクションで取得した識別番号
 data 送信データ 送信データを格納した領域の先頭アドレス
 size データサイズ 送信データバイト数
 to 宛先情報 宛先情報を格納した領域の先頭アドレス

+0
+1
+2
+3
to+00
送信先のIPアドレス
to+04
送信先のポート番号
x

【出力】

 送信バイト数 0以上 正常終了
ERR_PARAM パラメータエラー
ERR_PID 不正プロセスID
ERR_MEMOVER メモリ不足
ERR_LANCLOSED LAN未オープン
ERR_NOSOCKET ソケット番号が無効
ERR_NOTUDP UDPソケットでない
ERR_NOTBOUND ソケットはバインドされていない

【解説】

 指定された送信データを、UDPパケットに組み立てて送信します。送信可能なデータの最大サイズは5094バイトです。
 システムは指定された送信データを含むUDPパケットを作成して送信します。

 送信先のIPアドレスにブロードキャストアドレス(255.255.255.255)が指定された場合、IPブロードキャストアドレス(ネットワークアドレスが自IPアドレスと同じで、ホストアドレスがオール1)が指定された場合、システムはブロードキャスト送信を行います。

 送信データの先頭アドレスがNULLの場合、送信データ数が0または5094より大きい場合、送信先のアドレス情報の先頭アドレスがNULLの場合、パラメータエラーを返します。

【関連項目】

 IPマルチキャスト送信