【发布时间】:2021-08-30 09:08:24
【问题描述】:
制作了一个非常简单的客户端-服务器,想检查是否仅通过检查 0-255 中的 ip 中的最后一个数字(例如 = '8.8.8.' 然后使用数字 0-255 作为最后一个数字) .但是,当我运行它时,它总是在 0 处暂停,然后它只是放大数字 1-255。知道为什么吗?
服务器:
import socket
server_socket = socket.socket()
server_socket.bind(('8.8.8.8', 5000))
server_socket.listen()
conn, addr = server_socket.accept()
msg = conn.recv(1024).decode()
print(msg)
客户:
import socket
ip = '8.8.8.'
client_socket = socket.socket()
for i in range(0,255):
ip = ip +str(i)
print(i)
try:
client_socket.connect((ip,5000))
client_socket.send('yay'.encode())
except socket.error:
pass
顺便说一句,不,我没有使用 ip 地址 8.8.8.8 来绑定我的服务器套接字,这只是一个一般示例。我是说以防万一^^
【问题讨论】:
-
我很确定你遇到了任何问题,因为你正在使用
except socket.error: pass抑制所有套接字错误,如果你没有抑制它,你会看到你得到了一个例外第一次迭代,其余的一个不同的例外