diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-01-09 12:04:25 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-01-09 12:04:25 +0200 |
commit | bae052d4209024f65dcfc1c99127ef6e4ca351fa (patch) | |
tree | d4cbf0ef19b79067a421b6b691c401a14697821c /examples/unix/http_server.py | |
parent | 3b936a5f4cea879bd793ef174622d56d19d01c11 (diff) |
examples/unix: Rename example be importable as modules.
Replace hyphens with undescores in modules.
Diffstat (limited to 'examples/unix/http_server.py')
-rw-r--r-- | examples/unix/http_server.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/unix/http_server.py b/examples/unix/http_server.py new file mode 100644 index 000000000..7affafcfd --- /dev/null +++ b/examples/unix/http_server.py @@ -0,0 +1,41 @@ +try: + import usocket as socket +except: + import socket + + +CONTENT = """\ +HTTP/1.0 200 OK + +Hello #{} from MicroPython! +""" + +s = socket.socket() + +ai = socket.getaddrinfo("127.0.0.1", 8080) +print("Bind address info:", ai) +addr = ai[0][4] + +s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) +s.bind(addr) +s.listen(5) +print("Listening, connect your browser to http://127.0.0.1:8080/") + +counter = 0 +while True: + res = s.accept() + client_s = res[0] + client_addr = res[1] + print("Client address:", client_addr) + print("Client socket:", client_s) + print("Request:") + if 0: + # MicroPython rawsocket module supports file interface directly + print(client_s.read(4096)) + #print(client_s.readall()) + client_s.write(CONTENT.format(counter)) + else: + print(client_s.recv(4096)) + client_s.send(bytes(CONTENT.format(counter), "ascii")) + client_s.close() + counter += 1 |