在python中使用TCP连接时,为后续请求保持服务器活动

时间:2014-12-15 13:06:01

标签: python sockets tcp

我是Python Socket Programming的新手。

我正在尝试使用TCPHandler创建一个python服务器脚本,该脚本接受由称为“跟踪器”的内容发送的数据。跟踪器正在发送连续数据&我的服务器也接受它。然而,有时跟踪器发送Null数据。因此,脚本停止接收数据。

之后我必须重新启动脚本才能接收数据。

这是我的剧本。

class MyTCPhandler(SocketServer.BaseRequestHandler):

    def handle(self):
        self.data = self.request.recv(1024).strip()
        if self.data:
            self.request.sendall(self.data)
            save_new_tracker_data(self.data)
        elif not self.data:
            logger.info("Black data string received")

class MultiThread(threading.Thread):
    def __init__(self, data):
        threading.Thread.__init__(self)
        self.data = data

    def run(self):
        save_data(self.data)

if __name__ == '__main__':
    import socket
    import threading

    models.database.connect()
    HOST, PORT = 'xxx.xxx.xxx.xxx', 9999
    BUFFER_SIZE = 1024
    server = SocketServer.TCPServer((HOST, PORT), MyTCPhandler)
    server.serve_forever()

有没有人知道如何解决这个问题? Thnx in Advance。

0 个答案:

没有答案