summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-01-19 11:50:14 +0000
committerDamien George <damien.p.george@gmail.com>2014-01-19 11:50:14 +0000
commit49f6a99c65943c6b040e7237f7b86cbe184826c0 (patch)
treeb544c90cde456ba16e2e59bcfa3fd5207b7beddb
parentcbd2f7482c8bf457cc17da763859dbba6e03e2a2 (diff)
parent50a2d6ff5902a92b4380da934d5a59b1085e9ece (diff)
downloadmicropython-49f6a99c65943c6b040e7237f7b86cbe184826c0.tar.gz
micropython-49f6a99c65943c6b040e7237f7b86cbe184826c0.zip
Merge branch 'master' of github.com:micropython/micropython
-rw-r--r--examples/unix/sock-client.py22
-rw-r--r--examples/unix/sock-server.py28
-rw-r--r--unix/file.c2
3 files changed, 51 insertions, 1 deletions
diff --git a/examples/unix/sock-client.py b/examples/unix/sock-client.py
new file mode 100644
index 0000000000..d5d5021475
--- /dev/null
+++ b/examples/unix/sock-client.py
@@ -0,0 +1,22 @@
+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())
diff --git a/examples/unix/sock-server.py b/examples/unix/sock-server.py
new file mode 100644
index 0000000000..c39a0af21c
--- /dev/null
+++ b/examples/unix/sock-server.py
@@ -0,0 +1,28 @@
+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
diff --git a/unix/file.c b/unix/file.c
index 9b8c822520..af75944711 100644
--- a/unix/file.c
+++ b/unix/file.c
@@ -112,7 +112,7 @@ static const mp_obj_type_t rawfile_type = {
};
// Factory function for I/O stream classes
-mp_obj_t mp_builtin_open(uint n_args, uint n_kw, const mp_obj_t *args) {
+mp_obj_t mp_builtin_open(uint n_args, const mp_obj_t *args) {
// TODO: analyze mode and buffering args and instantiate appropriate type
return fdfile_make_new((mp_obj_t)&rawfile_type, n_args, 0, args);
}