Commit e2f3e1d2 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

Add socket examples (simple HTTP client and server).

parent e02b2d43
mod = rawsocket
s = mod.socket()
if 1:
ai = mod.getaddrinfo("google.com", 80)
print("Address infos:", ai)
addr = ai[0][4]
else:
# Deprecated way to construct connection address
addr = mod.sockaddr_in()
addr.sin_family = 2
#addr.sin_addr = (0x0100 << 16) + 0x007f
#addr.sin_addr = (0x7f00 << 16) + 0x0001
#addr.sin_addr = mod.inet_aton("127.0.0.1")
addr.sin_addr = mod.gethostbyname("google.com")
addr.sin_port = mod.htons(80)
print("Connect address:", addr)
s.connect(addr)
s.write("GET / HTTP/1.0\n\n")
print(s.readall())
mod = rawsocket
s = mod.socket()
ai = mod.getaddrinfo("127.0.0.1", 8080)
print("Bind address info:", ai)
addr = ai[0][4]
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:")
print(client_s.read(4096))
#print(client_s.readall())
client_s.write("""\
HTTP/1.0 200 OK
Hello #{} from MicroPython!
""".format(counter))
client_s.close()
counter += 1
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment