Я пытаюсь создать своего рода программу обмена сообщениями, и я хотел подключиться к 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
моего друга.