在Python中创建一个套接字(Creating a socket in python)

2019-10-29 01:27发布

import socket
import sys

HOST = ''   # Symbolic name meaning all available interfaces
PORT = 8888 # Arbitrary non-privileged port

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'

try:
    s.bind((HOST, PORT))
except socket.error , msg:
    print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
    sys.exit()

print 'Socket bind complete'

s.listen(10)
print 'Socket now listening'

#wait to accept a connection - blocking call
conn, addr = s.accept()

#display client information
print 'Connected with ' + addr[0] + ':' + str(addr[1])

当运行这个文件,我得到

  File "socket.py", line 1, in <module>
    import socket
  File "/root/socket.py", line 7, in <module>
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AttributeError: 'module' object has no attribute 'AF_INET'

我想创建一个套接字接受连接和读/发送数据...林遇到这样那样的错误,在做的。 我新的Python我不知道什么是我刚刚从一个网站的代码。 谢谢

Answer 1:

你叫你的文件socket.py重命名为somethng像my_socket.py并删除socket.pyc在同一个目录下的文件。

您正在尝试从导入socket.py文件而不是实际的插座模块,蟒蛇检查本地目录第一。



Answer 2:

该错误只是意味着socket对象不具有error的字段或属性

我认为这是你,因为你的名字你的文件作为插座模块的名字命名的问题。 更改名称,可能会解决问题。



文章来源: Creating a socket in python