我会尝试通过 python 套接字连接到我的 IP 上托管的 Counterstrike 服务器...
import socket
s = socket.socket()
s.connect(("localhost", 27015))
但是我会得到一个错误
error: [Errno 10061] No connection could be made because the target machine actively refused it
而且我确定服务器已启动,所以我不确定为什么它无法连接,我可以在游戏中连接到它。
要调试此类内容,您可以使用 Wireshark 来观察您的 Python 脚本,同时它尝试连接并将其与真实客户端进行比较。您可能必须侦听“localhost”接口而不是物理网络接口才能查看连接。您的服务器也需要执行相同的操作,因此请您的操作系统为您提供绑定套接字的列表,包括它们绑定到的 IP(在 Linux 上
netstat -nlp
)以供检查。也许服务器需要配置为允许非公共 IP。最后,确保您的协议正确,TCP (SOCK_STREAM) 与 UDP (SOCK_DGRAM)。