examples: http_client.py, http_server.py aren't just unix, move to network/.
This commit is contained in:
32
examples/network/http_client.py
Normal file
32
examples/network/http_client.py
Normal file
@@ -0,0 +1,32 @@
|
||||
try:
|
||||
import usocket as _socket
|
||||
except:
|
||||
import _socket
|
||||
|
||||
|
||||
s = _socket.socket()
|
||||
|
||||
if 1:
|
||||
ai = _socket.getaddrinfo("google.com", 80)
|
||||
print("Address infos:", ai)
|
||||
addr = ai[0][4]
|
||||
else:
|
||||
# Deprecated ways to construct connection address
|
||||
addr = _socket.sockaddr_in()
|
||||
addr.sin_family = 2
|
||||
#addr.sin_addr = (0x0100 << 16) + 0x007f
|
||||
#addr.sin_addr = (0x7f00 << 16) + 0x0001
|
||||
#addr.sin_addr = _socket.inet_aton("127.0.0.1")
|
||||
addr.sin_addr = _socket.gethostbyname("google.com")
|
||||
addr.sin_port = _socket.htons(80)
|
||||
|
||||
print("Connect address:", addr)
|
||||
s.connect(addr)
|
||||
|
||||
if 0:
|
||||
# MicroPython rawsocket module supports file interface directly
|
||||
s.write("GET / HTTP/1.0\n\n")
|
||||
print(s.readall())
|
||||
else:
|
||||
s.send(b"GET / HTTP/1.0\n\n")
|
||||
print(s.recv(4096))
|
||||
41
examples/network/http_server.py
Normal file
41
examples/network/http_server.py
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user