ソケット受信を行います。(UDP対応)

構文

int SyncRecvfromAddrSc(
  SOCKET sock,
  void *pvRecvBuf,
  unsigned short u16BufLen,
  unsigned long u32Timeoutmsec,
  unsigned short *u16RemainingLen,
  struct sockaddr_in *pstrRemoteAddr
);

パラメータ

sock
[in] ソケットディスクリプタ
pvRecvBuf
[out]受信バッファを指定してください。
u16BufLen
[in]受信バッファのサイズ(バイト)を指定してください。
u32Timeoutmsec
[in]タイムアウト(msec)を指定してください。
0、又は4294967295(0xFFFFFFFF)を指定すると、タイムアウトしません。
u16RemainingLen
[out]現在の受信操作の残りサイズ(バイト)です。
pstrRemoteAddr
[out]sockaddr_in構造体を指すポインタです。

戻り値

 関数は下記の値が返却されます。
説明
正の数 受信サイズ
SOCK_ERR_TIMEOUT タイムアウトの間にデータを受信しなかった場合
SOCK_ERROR ソケットエラー
ソケットを閉じて、作成しなおしてください。
SOCK_CLOSE リモート切断
ソケットを閉じて、作成しなおしてください。
SOCK_RECV_ERROR 受信エラー
受信サイズがバッファサイズを超過しました。
バッファサイズを適切なサイズに調整してください。
M2M_ERR_SLEEP_FAIL SysWLANInit関数により初期化を行ってください。
上記以外 SyncRecvfromAddrSc関数の失敗

解説

 TH15J09以降、API名称がSyncRecvfromScからSyncRecvfromAddrScに変更され、第6引数にpstrRemoteAddrが追加されました。
 pstrRemoteAddrを使用しない場合はNULLを指定してください。
 SyncRecvfromScは従来通り使用可能ですが、SyncRecvfromAddrScへの移行を推奨いたします。

必要条件

ヘッダファイル:
lib.h
ライブラリファイル:
libSTARTUPOPH5000.a

最終更新日:2020/09/25