如何解决如何在局域网中使用两台不同的计算机制作客户端 - 服务器?
它对我来说只是超时,即使我使用 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 举报,一经查实,本站将立刻删除。