File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ import socket
2+ import sys
3+
4+
5+ def server (log_buffer = sys .stderr ):
6+ address = ('127.0.0.1' , 10000 )
7+ sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
8+ sock .setsockopt (socket .SOL_SOCKET , socket .SO_REUSEADDR , 1 )
9+ print >> log_buffer , "making a server on {0}:{1}" .format (* address )
10+ sock .bind (address )
11+ sock .listen (1 )
12+
13+ try :
14+ while True :
15+ print >> log_buffer , 'waiting for a connection'
16+ conn , addr = sock .accept () # blocking
17+ try :
18+ print >> log_buffer , 'connection - {0}:{1}' .format (* addr )
19+ while True :
20+ data = conn .recv (16 )
21+ print >> log_buffer , 'received "{0}"' .format (data )
22+ if data :
23+ msg = 'sending data back to client'
24+ print >> log_buffer , msg
25+ conn .sendall (data )
26+ else :
27+ msg = 'no more data from {0}:{1}' .format (* addr )
28+ print >> log_buffer , msg
29+ break
30+ finally :
31+ conn .close ()
32+
33+ except KeyboardInterrupt :
34+ sock .close ()
35+ return
36+
37+
38+ if __name__ == '__main__' :
39+ server ()
40+ sys .exit (0 )
You can’t perform that action at this time.
0 commit comments