Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python套接字超时错误_Python_Attributes_Timeout_Attributeerror - Fatal编程技术网

Python套接字超时错误

Python套接字超时错误,python,attributes,timeout,attributeerror,Python,Attributes,Timeout,Attributeerror,我正在用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)

我正在用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()
从套接字导入*
服务器名='127.0.0.1'
服务器端口=5444
计数器=1;
当计数器<55时:
mySocket=插座(自动线、插座)
尝试:
mySocket.settimeout(1.0)
消息=原始输入(“”)
sendto(消息,(服务器名,服务器端口))
modifiedMessage,serverAddress=mySocket.recvfrom(1024)
除mySocket.timeout外:
打印“请求超时!”
mySocket.close()
其他:
打印“服务器响应:”
打印修改消息
mySocket.close()
我得到以下错误。 除mySocket.timeout外: AttributeError:“\u socketobject”对象没有属性“timeout”

我不明白为什么没有超时属性

事实上,我在看智能,也没有这样的属性


任何建议都将不胜感激

我有python 2.7,它在ipython上对我有效

Launching python -O
Python 2.7.2 (default, Apr 17 2012, 22:01:25) 
Type "copyright", "credits" or "license" for more information.

IPython 0.13 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from socket import *

In [2]: mySocket = socket(AF_INET, SOCK_DGRAM)

In [3]: mySocket.

mySocket.accept         mySocket.dup            mySocket.getsockopt     mySocket.recv           mySocket.sendall        mySocket.shutdown
mySocket.bind           mySocket.family         mySocket.gettimeout     mySocket.recv_into      mySocket.sendto         mySocket.type
mySocket.close          mySocket.fileno         mySocket.listen         mySocket.recvfrom       mySocket.setblocking    
mySocket.connect        mySocket.getpeername    mySocket.makefile       mySocket.recvfrom_into  mySocket.setsockopt     
mySocket.connect_ex     mySocket.getsockname    mySocket.proto          mySocket.send           mySocket.settimeout     

In [3]: mySocket.
mySocket.accept         mySocket.dup            mySocket.getsockopt     mySocket.recv           mySocket.sendall        mySocket.shutdown
mySocket.bind           mySocket.family         mySocket.gettimeout     mySocket.recv_into      mySocket.sendto         mySocket.type
mySocket.close          mySocket.fileno         mySocket.listen         mySocket.recvfrom       mySocket.setblocking    
mySocket.connect        mySocket.getpeername    mySocket.makefile       mySocket.recvfrom_into  mySocket.setsockopt     
mySocket.connect_ex     mySocket.getsockname    mySocket.proto          mySocket.send           mySocket.settimeout     

In [3]: mySocket.set
mySocket.setblocking  mySocket.setsockopt   mySocket.settimeout   

In [3]: mySocket.set
mySocket.setblocking  mySocket.setsockopt   mySocket.settimeout   

In [3]: mySocket.settimeout(1.0)

In [4]: 

套接字
模块有一个
超时
类。您的套接字对象,
mysocket
(类型为
socket.socket
),没有
timeout
属性

试试这个:

except timeout:
    print 'Request timed out!'
    mySocket.close()

请注意,在以这种方式使用
import*
时,还应小心。

检查此线程谢谢ronak的输入。你有什么建议为什么它对我不起作用吗?哇,非常感谢你,jozzas。这正是我需要的。