diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-02 20:57:58 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-02 20:57:58 +0300 |
commit | c07a03a36ddcb975478a81bef9eb6ac03fa134aa (patch) | |
tree | 5569a395741613bb1ce0b79e925a6396492efed2 /examples/network/http_server.py | |
parent | aa3fb7b3876d868b0070ca85d97f700e0c2dec20 (diff) | |
download | micropython-c07a03a36ddcb975478a81bef9eb6ac03fa134aa.tar.gz micropython-c07a03a36ddcb975478a81bef9eb6ac03fa134aa.zip |
examples/http_server.py: Introduce main() function.
Allows to re-run code if it was imported as a module (e.g., on bare-metal
ports).
Diffstat (limited to 'examples/network/http_server.py')
-rw-r--r-- | examples/network/http_server.py | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/examples/network/http_server.py b/examples/network/http_server.py index 923b4f9aef..20f33e5dd3 100644 --- a/examples/network/http_server.py +++ b/examples/network/http_server.py @@ -10,33 +10,37 @@ HTTP/1.0 200 OK Hello #%d 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 socket objects support stream (aka file) interface - # directly. - print(client_s.read(4096)) - client_s.write(CONTENT % counter) - else: - print(client_s.recv(4096)) - client_s.send(CONTENT % counter) - client_s.close() - counter += 1 - print() +def main(use_stream=False): + 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 use_stream: + # MicroPython socket objects support stream (aka file) interface + # directly. + print(client_s.read(4096)) + client_s.write(CONTENT % counter) + else: + print(client_s.recv(4096)) + client_s.send(CONTENT % counter) + client_s.close() + counter += 1 + print() + + +main() |