Программа использует 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, возникает следующая ошибка:
Traceback (последний вызов последним):
Файл "C: /.../ HttpServer.py", строка 7, в
client_socket.send (data, len (data))
socket.error: [Errno 10045] Попытка выполнения операции не поддерживается для типа объекта, на который имеется ссылка
Я искал здесь для кода ошибки 10045, но я не до конца понял, что мне делать.
Ошибка возникает, только если len (data) больше 5 или я не получаю данные от клиента. Если len (data) - 1-4, данные отправляются как положено, но если это точно 5, то ошибка не возникает, но пятый символ не отправляется.
Ошибка никогда не происходила со мной ни на каких других портах.
Есть идеи, как решить эту проблему и почему это происходит?
Заранее спасибо