Мне нужно поговорить между двумя клиентами. Но я не знаю, когда сокет закрыт или нет, есть ли способ проверить, если он есть?
Вот часть кода, которую мне нужно исправить:
def main():
"""Implements the conversation with server."""
# Open client socket, Transport layer: protocol TCP, Network layer: protocol IP
client_socket = socket.socket()
client_socket.connect((HOST_IP, PORT))
# start conversation with new client in parallel thread
name = input("enter your name ")
protocol.send_request(client_socket, name)
thread_for_responses = threading.Thread(target=get_responses,
args=(client_socket, ))
thread_for_responses.start()
while True:
# Get request from keyboard
client_request_str = input()
if client_request_str: # if client_request_str not empty string
# send request according to the protocol
protocol.send_request(client_socket, client_request_str)
# Get response from server
Вместо while True
мне нужно проверить, закрыт ли сокет, чтобы он не зацикливался на использовании закрытого сокета.