【发布时间】:2016-08-26 16:36:10
【问题描述】:
我对 TCP 连接很陌生,对 Autoit 也很陌生。
我正在尝试连接到我管理的游戏服务器,以便接收服务器数据(在线玩家、聊天日志等)并在需要时向服务器发送 TelNet 命令(禁止玩家、踢玩家等)
查看 Autoit 的 TCP 功能,我只看到 IP 和端口信息的地方,但服务器有一个管理员密码,我不知道如何将密码合并到混合中。
如果我能深入了解如何连接到服务器和接收数据,我将不胜感激。
【问题讨论】:
我对 TCP 连接很陌生,对 Autoit 也很陌生。
我正在尝试连接到我管理的游戏服务器,以便接收服务器数据(在线玩家、聊天日志等)并在需要时向服务器发送 TelNet 命令(禁止玩家、踢玩家等)
查看 Autoit 的 TCP 功能,我只看到 IP 和端口信息的地方,但服务器有一个管理员密码,我不知道如何将密码合并到混合中。
如果我能深入了解如何连接到服务器和接收数据,我将不胜感激。
【问题讨论】:
使用 IP:Port 连接,然后与服务器进行通信
这是我编写的一个旧脚本,用于通过 telnet 连接到我的路由器以更改 IP。
TCPStartup()
TrayTip("Changing IP adress!", "...connecting...", 10)
$router_IP = "192.168.1.1"
$port = "23" ; standard telnet port
$username = "admin"
$pass = "****"
Dim $ConnectedSocket = -1
$ConnectedSocket = TCPConnect($router_IP, $port)
If $ConnectedSocket = -1 Then
TrayTip("Changing IP adress!", "Error! Cant connect!", 10)
Sleep(3000)
Exit
EndIf
TrayTip("Changing IP adress!", "Connected.", 10)
$old = ""
$ret = TCPSend($ConnectedSocket, $username & @LF)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, $username & @LF)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, $username & @LF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP address!", $old, 10)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, $pass & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, "sh" & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(3000)
$ret = TCPSend($ConnectedSocket, "ifconfig nas_8_35 down" & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(10000)
$ret = TCPSend($ConnectedSocket, "ifconfig nas_8_35 up" & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, "exit" & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(2000)
$ret = TCPSend($ConnectedSocket, "exit" & @CRLF)
$old &= TCPRecv($ConnectedSocket, 2048)
TrayTip("Changing IP adress!", $old, 10)
Sleep(5000)
不记得为什么我将用户名发送了 3 次... 另外,由于您是新手,因此可以从以下位置开始:
Autoit Tcp examples and scripts
祝你好运!
【讨论】: