

#include <nitroWiFi/soc.h>
int SOC_Write ( int s, const void* buf, int len );
int SOC_Send ( int s, const void* buf, int len, int flags );
int SOC_SendTo ( int s, const void* buf, int len, int flags, const void* sockTo );
| s | ソケット記述子。 | ||
| buf | 送るメッセージが格納されるバッファへのポインタ。 | ||
| len | 送られるメッセージの長さ(バイト)。メッセージが長すぎて使用しているプロトコルでは通らない場合、SOC_Send()は失敗し、データは伝達されません。 |
||
| flags | メッセージ伝達のタイプ。flags は、0か以下の値の論理ORをとったものです(ストリーム・ソケットのみ)。
注意:SOC_MSG_DONTWAIT のみのサポートとなっています。 |
||
| sockTo | 終点アドレスを格納しているソケットアドレス構造体(SOCSockAddr,SOCSockAddrIn)へのポインタ。データグラム・ソケットなら、 SOC_SendTo()は sockTo によって指定されたアドレスへメッセージを送ります。ストリーム・ソケットなら、sockTo は無視されます。 |
| 1以上 | 送信したメッセージのバイト数。 ソケット記述子にSOC_O_NONBLOCKが設定された場合、返り値はlenより小さいことがあります(ショート
カウント)。 |
| 0 | 失敗。 |
SOC_EINVAL |
ソケット記述子の値が不正です。( s < 0 か存在しないソケット) |
SOC_EMSGSIZE |
送信するにはlenで指定したサイズが大きすぎます。(sがデータグラム・ソケットの場合) |
SOC_ENETRESET |
ソケットライブラリが初期化されていません。 |
SOC_ENOTCONN |
接続されていません。 |
SOC_EWOULDBLOCK |
リソース不足です。(sが非封鎖ソケットか、SOC_MSG_DONTWAITフラグが指定されている場合、送信バッファにメッセージをコピーする空きがありません。) |
注意:追加のエラーが今後のライブラリリリースで生じたり返されることがあります。すべての負の返り値は汎用のエラーとして扱ってください。
SOC_Write(), SOC_Send(), SOC_SendTo() は指定されたソケットを通してメッセージを送ります。
SOC_Write() は flags を設定しない以外は SOC_Send() と同等です。
SOC_Write(), SOC_Send(), SOC_SendTo()は、非封鎖モードの呼び出しをしない限り、ソケットの送信バッファに空きがなければブロックします。
封鎖モードの呼び出しは、データグラム・ソケット(UDP)の送信でも関数が返るまでに数百msの間ブロックすることがあります。注意して使用して下さい。
2008/05/13 返り値の修正、説明の修正
2006/09/04 説明の追記
2005/12/12 説明、返り値の記述変更
2005/09/13 初版