使用 python 2.7 在端口 80 上发送数据时如何解决错误 10045

How to resolve Error 10045 when sending data on port 80 using python 2.7

该程序使用 python 2.7,我使用 google 作为我的浏览器。

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('0.0.0.0', 80))
server_socket.listen(10)
client_socket, client_address = server_socket.accept()
print 'New client'
req = client_socket.recv(1024)
data = '0123'
client_socket.send(data, len(data))
client_socket.close()
server_socket.close()

当我 运行 程序并进入浏览器时 http://127.0.0.1:80 它引发了以下错误: 回溯(最后一次调用): 文件 "C:/.../HttpServer.py",第 7 行,位于 client_socket.send(数据,长度(数据)) socket.error: [Errno 10045] 引用的对象类型不支持尝试的操作

我查看了 here 错误代码 10045,但我没有完全理解我应该做什么。

只有当len(data) 大于5 或者我没有从客户端接收到数据时才会出现错误。如果 len(data) 为 1-4,则数据按预期发送,但如果恰好为 5,则不会出现错误,但不会发送第五个字符。 我从未在任何其他端口上发生过该错误。 关于如何解决此问题以及为什么会发生的任何想法?

提前致谢

不要输入字节大小

client_socket.send(data, len(data))  # Errno 10045

client_socket.send(data)  # Works