Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
d991da72
Commit
d991da72
authored
Jan 20, 2014
by
Paul Sokolovsky
Browse files
socket-client, socket-server examples now run on both Micro- and C-Python.
parent
a80ff04f
Changes
2
Hide whitespace changes
Inline
Side-by-side
examples/unix/sock-client.py
View file @
d991da72
mod
=
rawsocket
s
=
mod
.
socket
()
try
:
import
rawsocket
as
_socket
except
:
import
_socket
s
=
_socket
.
socket
()
if
1
:
ai
=
mod
.
getaddrinfo
(
"google.com"
,
80
)
ai
=
_socket
.
getaddrinfo
(
"google.com"
,
80
)
print
(
"Address infos:"
,
ai
)
addr
=
ai
[
0
][
4
]
else
:
# Deprecated way to construct connection address
addr
=
mod
.
sockaddr_in
()
# Deprecated way
s
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 =
mod
.inet_aton("127.0.0.1")
addr
.
sin_addr
=
mod
.
gethostbyname
(
"google.com"
)
addr
.
sin_port
=
mod
.
htons
(
80
)
#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
)
s
.
write
(
"GET / HTTP/1.0
\n\n
"
)
print
(
s
.
readall
())
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
))
examples/unix/sock-server.py
View file @
d991da72
mod
=
rawsocket
s
=
mod
.
socket
()
try
:
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
)
addr
=
ai
[
0
][
4
]
...
...
@@ -17,12 +28,13 @@ while True:
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
))
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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment