qzdisk 发表于 2011-3-16 02:58:35

UDP状态检测问题

请求返回基本状态信息,也就是当前地图/服务器名称/ip地址/在线人数/最大人数和游戏类型的数据包.该请求数据包25字节。
使用wpe pro 来模拟发送请求包,基本信息请求数据包内容如下:
十六进制:FF FF FF FF 54 53 6F 75 72 63 65 20 45 6E 67 69 6E 65 20 51 75 65 72 79 00
普通字符串:”????TSource Engine Query”
测试IP:59.57.3.66 端口是:27015



因为他是UDP的协议

所以我问想问一下 要如何用AU3!
用UDP 发包去请求服务器返回信息!
还有如何用UDP接收所返回的信息!

republican 发表于 2011-3-16 08:14:50

回复 1# qzdisk

你想做CS服务器查询?

republican 发表于 2011-3-16 09:29:52

#include <array.au3>
UDPStartup()

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


; 绑定到一个套接字(SOCKET)
;==============================================
$socket = UDPOpen("59.57.3.66", 27015)
UDPSend($socket, Binary("0xFFFFFFFF54536F7572636520456E67696E65205175657279"))
Global $ServerInfo
$ServerInfo = 0
While $ServerInfo <=3
        $data = UDPRecv($socket, 300,1)
        $ServerInfo[$ServerInfo+1] = $data
        $ServerInfo +=1
WEnd

_ArrayDisplay($ServerInfo)

While 1
    $data = UDPRecv($socket, 200,1)
    If $data <> "" Then
                ConsoleWrite($data & @CRLF )
    EndIf
    sleep(1)
WEnd

Func Cleanup()
    UDPCloseSocket($socket)
    UDPShutdown()
EndFunc

qzdisk 发表于 2011-3-16 09:36:21

是啊 ! 朋友真了解我!
页: [1]
查看完整版本: UDP状态检测问题