forked from AtomExample/atomSpring2018
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsocket_example.py
More file actions
32 lines (24 loc) · 770 Bytes
/
Copy pathsocket_example.py
File metadata and controls
32 lines (24 loc) · 770 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import socket
HOSTNAME = '127.0.0.1'
PORT = 2000
CONNECTION_COUNT = 1
MSG_LENGTH = 1024
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM
)
serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serversocket.bind((HOSTNAME, PORT))
serversocket.listen(CONNECTION_COUNT)
RESPONSE_TEMPLATE = 'HTTP/1.1 200 OK\nConnection: close\n\n<h1>{response_body}</h1>\n'
requests_counter = 0
print 'Listening on {0} port {1}'.format(HOSTNAME, PORT)
while True:
clientsocket, address = serversocket.accept()
print clientsocket.recv(MSG_LENGTH)
requests_counter += 1
clientsocket.send(
RESPONSE_TEMPLATE.format(response_body=requests_counter)
)
clientsocket.shutdown(1)
clientsocket.close()
serversocket.close()