最近在学习计算机网络自顶向下这本书 看到书本 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 日
防火墙端口开了没
|
2
tanl OP 上面第二段代码端口号忘改了,改成 10002
|
4
nosilence 2017 年 10 月 16 日
大概率情况,你的阿里云的防火墙策略组没配置,端口没开。
|
6
Hzzone 2017 年 10 月 16 日 via iPhone
服务器 bind 的端口和客户端发送的端口都不是同一个。。。
|
11
rogwan 2017 年 10 月 16 日 via Android
阿里云的经典网络直接可以访问没问题,专有网络需要自己配置端口,才有访问权限。
|
12
ksupertu 2017 年 10 月 16 日 via iPhone
安全组没放端口策略
|
13
crazykuma 2017 年 10 月 17 日
借楼问一下,python 的 socket 编程跟其他语言比速度可以接受吗?会不会慢很多?
|