保持客户端连接活动

时间:2017-07-19 11:35:12

标签: python python-2.7 sockets tcp

我是python套接字编程的初学者。我的问题是,我有一个处于侦听模式的TCP服务器,那时客户端会将数据发送到服务器。但是当我的TCP服务器不可用时,我希望客户端每次都检查连接(类似于使用while循环尝试异常方法)。

我已经尝试了一些技巧,但是没有成功,当我的TCP服务器不可用时,它会让o / p像连接被拒绝。以下是我的代码帮助我。

# 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()

1 个答案:

答案 0 :(得分:0)

我尝试了很多解决方案,但是下面的代码对我有用。

client.py

import socket

import time

while True:

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
    host = socket.gethostname()                           

    port = 2195

    try:
        s.connect((host , port))
        s.sendall("Welcome to Python\r\n")

    except:
        print "Error"

    time.sleep(5)
    s.close()