最近在学习计算机网络自顶向下这本书 看到书本 P107 开始讲的套接字编程 我照着书本打了一遍代码,测试下来在本机(也就是 ip 127.0.0.1 )可以运行 但是我把 UDPServer.py 放到我的阿里云服务器(并将 hostname 改为服务器公网 ip )上运行,UDPClient 就没反应了?请问是什么原因呢?
客户端
from socket import *
serverName = "106.14.209.139"
serverPort = 10002
clientSocket = socket(AF_INET,SOCK_DGRAM)
message = raw_input("Input lowercase sentence:")
clientSocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print serverAddress
print modifiedMessage
clientSocket.close()
阿里云 ubuntu 服务器上
from socket import *
serverPort = 88
serverSocket = socket(AF_INET,SOCK_DGRAM)
serverSocket.bind(("", serverPort))
print "The server is ready to receive"
while True:
message, clientAddress = serverSocket.recvfrom(2048)
print clientAddress,message
modifiedMessage = message.upper()
serverSocket.sendto(modifiedMessage, clientAddress)
1
wcsjtu 2017-10-16 19:20:41 +08:00
防火墙端口开了没
|
2
tanl OP 上面第二段代码端口号忘改了,改成 10002
|
4
nosilence 2017-10-16 19:23:00 +08:00
大概率情况,你的阿里云的防火墙策略组没配置,端口没开。
|
6
Hzzone 2017-10-16 19:24:05 +08:00 via iPhone
服务器 bind 的端口和客户端发送的端口都不是同一个。。。
|
7
wcsjtu 2017-10-16 19:25:50 +08:00
@tanl localhot 能够访问的服务,其他主机不能访问的话,一般就 3 个原因:1. 网卡绑错了 2. 防火墙端口没开 3. 主机不通
|
11
rogwan 2017-10-16 20:18:55 +08:00 via Android
阿里云的经典网络直接可以访问没问题,专有网络需要自己配置端口,才有访问权限。
|
12
ksupertu 2017-10-16 23:08:35 +08:00 via iPhone
安全组没放端口策略
|
13
crazykuma 2017-10-17 14:18:34 +08:00
借楼问一下,python 的 socket 编程跟其他语言比速度可以接受吗?会不会慢很多?
|