开发者社区> 问答> 正文

udp端口无法访问

想架一个udp的服务器,用下面的测试代码测试,在阿里云ECS运行服务器程序,本地电脑运行客户端程序。

服务器端代码 (udp-server.py):
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('127.0.0.1', 8888))
print("UDP server binded on port 8888")
while True:
    data, addr = s.recvfrom(1024)
    print("Received from %s:%s." % addr, data)
    s.sendto('Welcome!', addr)

客户端代码(udp-client.py):
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for data in ['a', 'b', 'c']:
        #s.sendto(data, ('127.0.0.1', 8888))        
        s.sendto(data, ('47.254.155.120', 8888))
        print s.recv(1024)
s.close()

测试server无法收到client发送的数据。但把server程序和client程序都放在同一台主机上运行,就能够收到数据。

测试时运行了systemctl stop firewalld关闭防火墙。
同时,安全组增加配置规则如下:
允许    自定义UDP     1/65535    地址段访问     0.0.0.0/0
允许    自定义UDP    8888/8888    地址段访问    0.0.0.0/0

请问可能是哪里出了问题?

展开
收起
1532805603169154 2018-09-04 16:27:07 3148 0
2 条回答
写回答
取消 提交回答
  • 入规则 放行全部端口
    2018-09-04 16:35:28
    赞同 展开评论 打赏
  • 郑州云淘科技有限公司 www.yuntaokeji.com QQ号码78315851
    您可以尝试把安全组的全部端口都放行了事实。
    2018-09-04 16:30:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载