WinError 10054 远程主机强行关闭了现有连接,我应该使用什么来代替 Windows 选择库?

问题描述

我正在编写一个聊天室(实际上它的一部分是从网站复制的),我可以在我的 kali 机器上毫无问题地运行它,但是在 Windows 中,我收到错误“ConnectionResetError: [WinError 10054] An existing连接被远程主机强行关闭”,我认为我不应该为此脚本使用选择库(我搜索了它),但是......我不知道我到底该怎么做??我的意思是我应该改用哪个库??

这是我的代码(客户端,我认为问题出在客户端部分):

    def banner():
    print("██████╗ ██╗████████╗ ██████╗██╗  ██╗     ██╗  ██╗")
    print("██╔══██╗██║╚══██╔══╝██╔════╝██║  ██║     ╚██╗██╔╝")
    print("██████╔╝██║   ██║   ██║     ███████║█████╗╚███╔╝ ")
    print("██╔══██╗██║   ██║   ██║     ██╔══██║╚════╝██╔██╗ ")
    print("██████╔╝██║   ██║   ╚██████╗██║  ██║     ██╔╝ ██╗")
    print("╚═════╝ ╚═╝   ╚═╝    ╚═════╝╚═╝  ╚═╝     ╚═╝  ╚═╝")




def usage():
    print('''"[removeAll]password" => remove all of the recent messages from server and all of the clients''')
    print('''"[removeAll]" => remove all of the recent messages for the clients''')
    print('''"[CountMessages]password" => get the number of the messages in history''')




banner()
usage()
 
import socket  
import select  
import sys  
import pyttsx3
import os
import time




server = socket.socket(socket.AF_INET,socket.soCK_STREAM)  
if len(sys.argv) != 3:  
    print ("Correct usage: script,IP address,port number") 
    exit()  
IP_address = str(sys.argv[1])  
Port = int(sys.argv[2])  
server.connect((IP_address,Port))  
  
while True:  
   
    sockets_list = [sys.stdin,server]  
  
    read_sockets,write_socket,error_socket = select.select(sockets_list,[],[])  
  
    for socks in read_sockets+[sys.stdin]:  
        if socks == server:  
            message = socks.recv(2048)


            print (message.decode())
        else:  
            message = sys.stdin.readline()
            if "[removeAll]" in message:
                os.system("clear")
                banner()
                usage()
                print('\n\n[+] old messages were removed\n\n')
            server.send(message.encode())
            sys.stdout.write("\n<You>")
            sys.stdout.write(message)
            sys.stdout.flush()  
server.close()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)