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的新手我不知道任何东西我只是从网站上获取代码。 三江源
答案 0 :(得分:4)
您调用文件socket.py
将其重命名为my_socket.py
之类的某些内容,并删除同一目录中的socket.pyc
文件。
您试图从socket.py
文件导入而不是实际的套接字模块,python首先检查本地目录。
答案 1 :(得分:0)
错误仅表示socket
对象没有error
字段或属性
我认为这是一个命名问题,因为您将文件命名为套接字模块的名称。更改名称,可能会解决问题。