我正在用 Python 2.7 编写一个非常简单的 udp 套接字连接
服务器端已启动并运行。
我在客户端有问题。
from socket import *
serverName = '127.0.0.1'
serverPort = 5444
counter = 1;
while counter < 55:
mySocket = socket(AF_INET,SOCK_DGRAM)
try:
mySocket.settimeout(1.0)
message = raw_input('')
mySocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = mySocket.recvfrom(1024)
except mySocket.timeout:
print 'Request timed out!'
mySocket.close()
else:
print 'Server Response: '
print modifiedMessage
mySocket.close()
我收到以下错误。
除了 mySocket.timeout:
AttributeError: '_socketobject' 对象没有属性 'timeout'
我不明白怎么没有超时属性?!
事实上,我正在查看智能感知,也没有这样的属性。
任何建议将不胜感激
最佳答案
socket
模块有一个 timeout
类。您的套接字对象 mysocket
(类型为 socket.socket
)没有 timeout
属性。
试试这个:
except timeout:
print 'Request timed out!'
mySocket.close()
请注意,以这种方式使用
import *
时也应该小心。关于Python套接字超时错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12906242/