我正在运行 2 个 python 脚本:一个服务器脚本和一个连接到服务器的客户端(均为 Windows 10)。
例如,如果由于客户端系统重新启动而导致连接丢失,并且 python 脚本确实在启动时自动运行,我该如何重新连接?因为当我不重新启动服务器时,客户端重新启动时会出错。
是否有人知道检查客户端脚本是否仍在运行的功能或技巧(以便我可以远程重新启动服务器)?或者甚至更好的东西不会让服务器在客户端系统重新启动时出现连接错误。
显示:简单的python聊天室
服务器
import time, socket, sys
new_socket = socket.socket()
host_name = socket.gethostname()
s_ip = socket.gethostbyname(host_name)
port = 8080
new_socket.bind((host_name, port))
print( "Binding successful!”)
print("This is your IP: ", s_ip)
name = input('Enter name: ')
new_socket.listen(1)
conn, add = new_socket.accept()
print("Received connection from ", add[0])
print('Connection Established. Connected From: ',add[0])
client = (conn.recv(1024)).decode()
print(client + ' has connected.')
conn.send(name.encode())
while True:
message = input('Me : ')
conn.send(message.encode())
message = conn.recv(1024)
message = message.decode()
print(client, ':', message)
客户
import time, socket, sys
socket_server = socket.socket()
server_host = socket.gethostname()
ip = socket.gethostbyname(server_host)
sport = 8080
print('This is your IP address: ',ip)
server_host = input('Enter friend\'s IP address:')
name = input('Enter Friend\'s name: ')
socket_server.connect((server_host, sport))
socket_server.send(name.encode())
server_name = socket_server.recv(1024)
server_name = server_name.decode()
print(server_name,' has joined...')
while True:
message = (socket_server.recv(1024)).decode()
print(server_name, ":", message)
message = input("Me : ")
socket_server.send(message.encode())