|
本帖最后由 zhouhaijin 于 2014-12-29 15:47 编辑
我看有些软件可以一个端口连接 服务器也可以发数据给客户机,客户机也可以发数据给服务器
我服务器是互联网IP,客户机是另一个互联网下的局域网里的机器
这样的情况下服务器可以发数据到客户机吗?
服务端代码
UDPStartup()
$socket = UDPBind("0.0.0.0",8976)
While 1
$data = UDPRecv($socket,50)
If $data = "1" Then
MsgBox(0,"","0")
$send=UDPSend($socket,"ok")
EndIf
sleep(10)
WEnd
Func OnAutoItExit()
UDPCloseSocket($socket)
UDPShutdown()
EndFunc
客户端代码
UDPStartup()
$socket = UDPOpen("服务端IP", 8976)
$status = UDPSend($socket,"1")
While 1
$data = UDPRecv($socket,50)
If $data = "ok" Then
MsgBox(0,"ok","ok")
EndIf
WEnd
Func OnAutoItExit()
UDPCloseSocket($socket)
UDPShutdown()
EndFunc
帮助里
UDPBind的说明好像可以一样
返回一个数组: $array[1] 包含一个真实的套接字(socket), $array[2] 包含一个指定的IP地址, $array[3] 包含端口. 我们需要这个信息才能在后面调用 UDPSend(), where we pass this socket structure/array(未知意思) .
他这里说明说可以用这个信息让UDPSend()用
[ 本帖最后由 zhouhaijin 于 2008-12-28 00:58 编辑 ] |
|