首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

请大家帮小弟我看上这代码有什么错,想要实现这样的功能“服务器下监听一个 UDP 端口,在收到 UDP 数据包后把源地址发回去”

2012-09-17 
请大家帮我看下这代码有什么错,想要实现这样的功能“服务器上监听一个 UDP 端口,在收到 UDP 数据包后把源地

请大家帮我看下这代码有什么错,想要实现这样的功能“服务器上监听一个 UDP 端口,在收到 UDP 数据包后把源地址发回去”
脚本源码udpaddr.py :

Python code
import sysimport timeimport socket def main(port):  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  s.bind(('', port))  try:    while True:      data, addr = s.recvfrom(4096)      back = 'Your address is %r\n' % (addr,)      s.sendto(back.encode(), addr)      print(time.strftime('%Y-%m-%d %H:%M:%S'), addr, 'just sent us a message:', data.decode('utf-8', 'replace'), end='')  except KeyboardInterrupt:    print() if __name__ == '__main__':  try:    main(int(sys.argv[1]))  except (ValueError, IndexError):    sys.exit('which port to listen?')

用 “python updaddr.py” 运行报错如下:
Python code
line@Excalibur:~$ python udpaddr.py   File "udpaddr.py", line 13    print(time.strftime('%Y-%m-%d %H:%M:%S'), addr, 'just sent us a message:', data.decode('utf-8', 'replace'), end='')                                                                                                                   ^SyntaxError: invalid syntax

源码出处:http://lilydjwg.is-programmer.com/2012/8/28/udp-hole-punching-experiment.35350.html


[解决办法]
请用python3运行。
[解决办法]
这里错了:
print(time.strftime('%Y-%m-%d %H:%M:%S'), addr, 'just sent us a message:', data.decode('utf-8', 'replace'), end='')
-》
直接不要吧:print(time.strftime('%Y-%m-%d %H:%M:%S'), addr, 'just sent us a message:', data.decode('utf-8', 'replace'))

热点排行