Какова причина истечения времени моего соединения? - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь создать своего рода программу обмена сообщениями, и я хотел подключиться к P C моего друга. Я сказал ему скачать server.py и запустить его, затем, когда я попытался подключиться с помощью client.py, истекло время ожидания (ошибка говорила, что его P C не смог вовремя ответить) ...

Я уверен, что проблема заключается в моем коде, потому что у нас обоих есть относительно хорошие соединения inte rnet, и он дал программе полные права.

server.py

from socket import *
import socket
import select

## -- Server (Rooms) -- ##
users = [] # This will be used later on
addresses = [] # This will be used later on

host_name = socket.gethostname()

HOST = socket.gethostbyname(host_name) 
PORT = 12345

print(f"Server Info\nHOST: {HOST}\nPORT: {PORT}")

def user_join():
    # Append username to users[]
    # Append user address to adresses[]
    print(f"{address} connecting (nicked {username})")

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind((HOST, PORT))
serversocket.listen(1)
clientsocket, address = serversocket.accept()

print(address)
with clientsocket:
    while True:
        Srecv = clientsocket.recv(1024).decode()
        print(f"{address}: {Srecv}")
        # Add server time to message before sending
        clientsocket.sendall(Srecv.encode())

client.py

from socket import *
import socket
import ipaddress

## -- Server (Room) -- ##
host = input("Host: ")
port = int(input("Port: "))

username = input("Username: ")
username = "<" + username + ">"
print(f"Connecting under nick \"{username}\"")

clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Creates socket
clientsocket.connect((host, port)) # Connects to the server

while True:
    Csend = input("MSG: ") # Input message
    #Csend = f"{username} {Csend}" # Add username to message
    clientsocket.send(Csend.encode()) # Send message to ONLY the server

    print(clientsocket.recv(1024).decode())

Запуск обоих на моем P C одновременно заставляет его работать нормально, даже если Я запускаю их на отдельных машинах, которые оба подключены к моему inte rnet, он все еще работает нормально, поэтому я не знаю, почему он не работает на P C

моего друга.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...