UDPソケットで受信を行います。

構文

short RecvfromSc(
  SOCKET sock, 
  void *pvRecvBuf, 
  unsigned short u16BufLen,
  unsigned long u32Timeoutmsec
);

パラメータ

sock
[in] ソケットディスクリプタ
pvRecvBuf
[out] 受信バッファを指定します。
u16BufLen
[in] 受信バッファのサイズを指定します。
u32Timeoutmsec
[in] タイムアウト(msec)を指定します。0、または4294967295 (0xFFFFFFFF)を指定すると、タイムアウトしません。

戻り値

 関数は次の値を返します。
説明
SOCK_ERR_NO_ERROR RecvfromSc関数の成功
M2M_ERR_SLEEP_FAIL SysWLANInit関数により初期化を行ってください。
上記以外 RecvfromSc関数の失敗

解説

 UDPソケットで受信を行います。
 UDPソケットでのみ使用できます。

 本関数の処理要求は非同期で処理されます。処理結果は、RegSocketCallbackSc関数pfAppSocketCbパラメータで指定したコールバック関数で受け取ります。
 コールバック関数のパラメータには次の値が渡されます。
sock
ソケットディスクリプタ
u8Msg
SOCKET_MSG_RECVFROM
pvMsg
処理結果を格納したtstrSocketRecvMsg構造体を指すポインタ。


tstrSocketRecvMsg構造体 (typedef)

構文

typedef struct
{
    unsigned char       *pu8Buffer;
    short               s16BufferSize;
    unsigned short      u16RemainingSize;
    struct sockaddr_in  strRemoteAddr;
} tstrSocketRecvMsg;

メンバー

pu8Buffer
RecvfromSc関数で指定したバッファ(※失敗時、NULLとなる場合があります。)
s16BufferSize
受信データサイズもしくはエラー
説明
受信データサイズ 成功
バッファサイズを超える値 失敗
0以下の値 失敗
u16RemainingSize
受信データの残りサイズ
strRemoteAddr
リモート側のソケットアドレスをsockaddr_in構造体で返します。


必要条件

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

最終更新日:2020/11/26