我正在用 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/

10-09 05:44