基 础 函 数 参 考


UDPRecv

函数用于客户端与服务器通信

UDPRecv ( 套接字数组, 最大返回 [, 标志] )

参 数

套接字数组 UDPBind 函数返回的套接字/数组.
最大返回 最大接收字符数.
标志 [可选参数] 1: 强制函数只返回二进制数据(默认为 0, 自动检测二进制/字符串数据).
2: 强制函数返回 IP/端口. 返回的结果为数组: [0] 数据, [1] IP, [2] 端口.
3: 上述条件都使用

返 回 值

成功: 返回已连接套接字接收的二进制/字符串的值, 如果标志为 2 或 3, 则返回一个数组
失败: 返回 "", 设置 @error.
@error: -1, -2 或 -3, 套接字数组无效.
或为 windows API WSAGetError 的返回值 (请查阅 MSDN).

备 注

由于向后兼容的原因, 函数将试着返回默认字符串. 如果接收空字符 (0x00), 则返回值将是二进制类型.
要强制函数总是返回二进制数据(最好的选择), 需将" 标志 "参数设置为 1.

相 关 函 数

BinaryLen, BinaryMid, UDPBind, UDPOpen

函 数 示 例


;;这是 UDP 服务器
;;首先启动

; 启动 UDP 服务器
;==============================================
UDPStartup()

; 注册清除函数.
OnAutoItExitRegister("Cleanup")

; 捆绑套接字 SOCKET
;==============================================
Local $socket = UDPBind("127.0.0.1", 65532)
If @error <> 0 Then Exit

While 1
    Local $data = UDPRecv($socket, 50)
    If $data <> "" Then
        MsgBox(0, "UDP 数据", $data, 1)
    EndIf
    Sleep(100)
WEnd

Func Cleanup()
    UDPCloseSocket($socket)
    UDPShutdown()
EndFunc   ;==>Cleanup



provider with jb51.net (unicode)