好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 爱喝牛奶的小孩 于 2021-1-6 15:00 编辑
try:
while True:
# 接收数据:
......
except KeyboardInterrupt:
print("接收 " + str(x) + " 请求")
print("出错 " + str(i) + " 条数据")
想用KeyboardInterrupt来退出循环然后输出,在pycharm中运行后,Ctrl+F2、Ctrl+C、Ctrl+Z均没有效果
在终端运行也不行,powershell也不行
系统win10,但在同事的macbook上可以正常的触发,有解决方法么?
发现了,我在try中执行的时UDP服务端的接收
data, addr = UDP_service.recvfrom(2048)
不做这个操作的时候是可以正常触发KeyboardInterrupt的,加上之后就失效
全部代码在这:
服务端:
import socket
UDP_service = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
UDP_service.bind(('127.0.0.1', 5678))x = 0
while True:
try:
# 接收数据:
data, addr = UDP_service.recvfrom(2048)
x = x + 1
print('接收到 %s:%s 的数据' % addr)
except KeyboardInterrupt:
print("接收 " + str(x) + " 数据")
客户端:
import socket
sendData = b'\x1f\x1f\x1f\x1f'
UDP_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for i in range(0, 100):
UDP_client.sendto(sendData, ('127.0.0.1', 5678))
UDP_client.close()
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|