微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在局域网中使用两台不同的计算机制作客户端 - 服务器?

如何解决如何在局域网中使用两台不同的计算机制作客户端 - 服务器?

它对我来说只是超时,即使我使用 gethostbyname 方法或 gethostname 作为私有 IP 地址....

代码

def connect(self):
        nm = nmap.PortScanner()
        nm.scan(hosts = '192.168.1.0/24',arguments = '-n -sP -PE -PA21,23,80,3389')
        devices = []
        hosts_list = [(x,nm[x]['status']['state']) for x in nm.all_hosts()]
        for ip,state in hosts_list:
            devices.append(ip)
        for ip in devices:
            print(ip,type(ip))
            
            try:
                client_socket = socket.socket()
                client_socket.settimeout(2)
                try:
                    client_socket.connect((ip,self.port))
                    if type(client_socket) != None:
                        client_socket.send('hi'.encode())
                        client_socket.settimeout(None)
                        return client_socket
                except Exception as e:
                    print(e)
            except socket.error:
                pass

当它到达正确的 Ip 时,它只是......超时。以为我的功能有问题,但事实并非如此。

TLDR-使用Nmap做了一个局域网自动连接,它唯一连接的是超时和我的悲伤D:

编辑:让我告诉你我运行这个函数时发生的错误

服务器:

    server_socket = socket.socket()
    hostname = socket.gethostname()
    local_ip = socket.gethostbyname(hostname)
    server_socket.bind((local_ip,self.port))

双方决定他们想要使用的端口,我使用socket.gethostbyname作为服务器ip。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。