【发布时间】:2018-12-13 12:11:40
【问题描述】:
我在本地主机上的服务器和客户端之间进行了 UDP 通信 根据此代码: https://pymotw.com/2/socket/udp.html
回声服务器:
import socket
import sys
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 12321)
sock.bind(server_address)
while True:
data, address = sock.recvfrom(4096)
if data:
sent = sock.sendto(data, address)
回显客户端
import socket
import sys
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 12321)
message = 'This is the message. It will be repeated.'
try:
for i in range 4:
sent = sock.sendto(message, server_address)
data, server = sock.recvfrom(4096)
finally:
sock.close()
现在假设我受到MITM 攻击,特定数据包没有到达服务器,客户端仍在等待服务器的响应,
我遇到了死锁。
我该如何克服这个问题? UDP 套接字是否有一些超时参数?
【问题讨论】:
标签: python python-2.7 client-server