这是我简单套接字python服务器的完整代码。它从客户端连接时返回Errno 10035?我还包括" C.setBlocking(0(",因为RECV阻止了C插座
import socket
def Main():
host = ""
port = 80
indic = 1
data = ""
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
c, addr = s.accept()
c.setblocking(0)
print "Connection from: " + str(addr)
while indic:
data = c.recv(4096)
if not data: indic = 0
print "From connected user: " + str(data)
c.send("<html><head></head></html>")
c.close()
exit()
Main()
问题是您正在尝试绑定端口80。这是一个保留端口,您不能简单地将其与应用程序绑定。(有一种方法,我只是不确定Howto(。当我尝试运行您的代码时,我会遇到不同的错误:
error: [Errno 10013] An attempt was made to access a socket in a way forbidden
by its access permissions
当我将其更改为其他端口(例如,8080(并将host = "localhost"
我成功运行。
===================== RESTART: C:Python27teststest.py =====================
Connection from: ('127.0.0.1', 54287)
python.org上有一个很棒的插座编程howto。