aboutsummaryrefslogtreecommitdiffstats
path: root/test/tools/passive_close.py
blob: d0b36e7f77c20eb9c4c9e7fbcc39c141d406bec8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import SocketServer
from threading import Thread
from time import sleep

class service(SocketServer.BaseRequestHandler):
    def handle(self):
        data = 'dummy'
        print "Client connected with ", self.client_address
        while True:
            self.request.send("HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: 7\r\n\r\ncontent")
            data = self.request.recv(1024)
            if not len(data):
                print "Connection closed by remote: ", self.client_address
                sleep(3600)


class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    pass

server = ThreadedTCPServer(('',1520), service)
server.serve_forever()