我用Python写了一个简单的程序。这是一个简单的套接字聊天程序。在我的程序中,客户端只需连接到一个地址(ip、端口)并发送一条消息,而此时服务器已准备好并接收消息并打印它。我可以保证程序是正确的,因为我在我的电脑上试过了。
我在Google Cloud Platform上有一个VM实例,我可以通过ssh进行操作,这是Google Cloud提供的一种简单方式。我可以确保服务器正在运行。
我在我的谷歌云服务器上启动了一个简单的tcp服务器、python程序。然后我在计算机上启动客户端程序。但我收到这个错误:
ConnectionRefusedError: [WinError 10061] 由于目标机器主动拒绝而无法建立连接
或同等中文:
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
如何解决这个问题并连接到我的谷歌云服务器?
我猜可能是防火墙拒绝了我的计算机的连接,但不知道如何解决。
此错误意味着您的程序未侦听
0.0.0.0
端口 XYZ
。
检查您的程序是否正在监听
localhost
。如果更改为0.0.0.0
,则表示所有可用网络。 localhost
表示不侦听任何网络接口,仅接受来自计算机内部的连接。
然后仔细检查端口号。
要查看是否有监听,请运行以下命令 (Linux):
netstat -at
寻找与您的港口的线路
XYZ
。
当您启动程序时,请确保在创建侦听器时不会出错。如果您尝试使用低于 1024 的端口号,则需要使用 root 权限启动程序。
此错误表示您的程序未侦听端口。
检查您的程序是否正在侦听。如果更改为,则表示所有可用的网络。表示不侦听任何网络接口,只接受来自计算机内部的连接。
然后仔细检查端口号。
要查看监听中是否有内容,请运行以下命令(Linux):netstat -at
寻找带有端口的线路。
启动程序时,请确保在创建监听器时不会出错。如果您尝试使用低于1024的端口号,则需要使用root权限启动程序。