1
我是一名Python编程的初学者。我的问题是,我有一个处于侦听模式的TCP服务器,那时客户端会发送数据到服务器。但是当我的TCP服务器不可用时,我想要一个客户端去检查每次连接(例如使用while循环尝试异常方法)。让客户端连接保持活动状态
我试过技巧,但没有解决,它使o/p连接被拒绝,当我的TCP服务器不可用时。下面是我的代码帮助我一样。
# client.py
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
port = 2195
s.connect((host, 2195))
while 1:
try:
print "Try loop"
s.sendall("Welcome to Python\r\n")
print "Try loop2"
time.sleep(5)
except:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.close()
你形容一个完美的解决方案sensibe:捕获异常,那么你应该睡了一会儿,然后重试连接尝试。但是你并没有试图实现这一点,也没有描述你的实际的,详细的问题。 –
我的问题是客户端代码应该每次检查连接,在我的代码中,它会检查5秒作为我的time.sleep(5)。 –
@MeetAdhia:你没有尝试连接。相反,你期望连接成功,然后尝试发送。只有当TCP服务器不可用时,连接已经失败,这就是你得到的(连接被拒绝)并且无法捕获。 –