socket-client, socket-server examples now run on both Micro- and C-Python.
This commit is contained in:
parent
a80ff04fe7
commit
d991da7263
|
@ -1,22 +1,32 @@
|
||||||
mod = rawsocket
|
try:
|
||||||
s = mod.socket()
|
import rawsocket as _socket
|
||||||
|
except:
|
||||||
|
import _socket
|
||||||
|
|
||||||
|
|
||||||
|
s = _socket.socket()
|
||||||
|
|
||||||
if 1:
|
if 1:
|
||||||
ai = mod.getaddrinfo("google.com", 80)
|
ai = _socket.getaddrinfo("google.com", 80)
|
||||||
print("Address infos:", ai)
|
print("Address infos:", ai)
|
||||||
addr = ai[0][4]
|
addr = ai[0][4]
|
||||||
else:
|
else:
|
||||||
# Deprecated way to construct connection address
|
# Deprecated ways to construct connection address
|
||||||
addr = mod.sockaddr_in()
|
addr = _socket.sockaddr_in()
|
||||||
addr.sin_family = 2
|
addr.sin_family = 2
|
||||||
#addr.sin_addr = (0x0100 << 16) + 0x007f
|
#addr.sin_addr = (0x0100 << 16) + 0x007f
|
||||||
#addr.sin_addr = (0x7f00 << 16) + 0x0001
|
#addr.sin_addr = (0x7f00 << 16) + 0x0001
|
||||||
#addr.sin_addr = mod.inet_aton("127.0.0.1")
|
#addr.sin_addr = _socket.inet_aton("127.0.0.1")
|
||||||
addr.sin_addr = mod.gethostbyname("google.com")
|
addr.sin_addr = _socket.gethostbyname("google.com")
|
||||||
addr.sin_port = mod.htons(80)
|
addr.sin_port = _socket.htons(80)
|
||||||
|
|
||||||
print("Connect address:", addr)
|
print("Connect address:", addr)
|
||||||
s.connect(addr)
|
s.connect(addr)
|
||||||
|
|
||||||
s.write("GET / HTTP/1.0\n\n")
|
if 0:
|
||||||
print(s.readall())
|
# 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))
|
||||||
|
|
|
@ -1,7 +1,18 @@
|
||||||
mod = rawsocket
|
try:
|
||||||
s = mod.socket()
|
import rawsocket as socket
|
||||||
|
except:
|
||||||
|
import socket
|
||||||
|
|
||||||
ai = mod.getaddrinfo("127.0.0.1", 8080)
|
|
||||||
|
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)
|
print("Bind address info:", ai)
|
||||||
addr = ai[0][4]
|
addr = ai[0][4]
|
||||||
|
|
||||||
|
@ -17,12 +28,13 @@ while True:
|
||||||
print("Client address:", client_addr)
|
print("Client address:", client_addr)
|
||||||
print("Client socket:", client_s)
|
print("Client socket:", client_s)
|
||||||
print("Request:")
|
print("Request:")
|
||||||
print(client_s.read(4096))
|
if 0:
|
||||||
#print(client_s.readall())
|
# MicroPython rawsocket module supports file interface directly
|
||||||
client_s.write("""\
|
print(client_s.read(4096))
|
||||||
HTTP/1.0 200 OK
|
#print(client_s.readall())
|
||||||
|
client_s.write(CONTENT.format(counter))
|
||||||
Hello #{} from MicroPython!
|
else:
|
||||||
""".format(counter))
|
print(client_s.recv(4096))
|
||||||
|
client_s.send(bytes(CONTENT.format(counter), "ascii"))
|
||||||
client_s.close()
|
client_s.close()
|
||||||
counter += 1
|
counter += 1
|
||||||
|
|
Loading…
Reference in New Issue