«Была предпринята попытка выполнить операцию над чем-то, что не является сокетом», когда я пытаюсь добавить аутентификацPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 «Была предпринята попытка выполнить операцию над чем-то, что не является сокетом», когда я пытаюсь добавить аутентификац

Сообщение Anonymous »

Я создал сервер, который отображает данные, отправленные клиентом. Сначала это работало, но прекратилось после того, как я попытался включить аутентификацию SSL.

Код: Выделить всё

import socket
import json
import ssl

HOST: str = '127.0.0.1'
PORT: int = 5507

def create_server_socket() -> socket.socket:
"""Creates a TCP socket, binds it to the host and port and listens for a connection. Will try again should the process fail"""
try:
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()

print(f"SERVER LISTENING ON {HOST, PORT}")
return server_socket
except socket.error as message:
print("Socket creation error: " + str(message) + "\n Retrying...")
return create_server_socket()

def main() -> None:
"""Main function to start the server."""
context : ssl.SSLContext = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
context.load_cert_chain("ssl/server.crt", "ssl/server.key")
server_socket: socket.socket = create_server_socket()

context.wrap_socket(server_socket, server_side=True)

client_socket, client_address = server_socket.accept()
with client_socket:
data: bytes = client_socket.recv(1024)
print(f"{client_address} connected as {data.decode(encoding='utf-8')}\n")
while True:
data: bytes = client_socket.recv(1024)
decoded_data: str = data.decode(encoding='utf-8')
try:
data: dict =json.loads(decoded_data)
except json.JSONDecodeError:
print(f"{client_address} disconnected!")
server_socket.close()
client_socket.close()
break
print(f"{data['sender']}: {data['msg']}")

if __name__ == '__main__':
main()
Я получил следующую ошибку:

Ошибка ОС: [WinError 10038] Была предпринята попытка выполнить операцию с чем-то, что не является розетка

Что я делаю не так и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/786 ... -try-to-ad
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»