summaryrefslogtreecommitdiff
path: root/pybluez/advanced/l2-unreliable-server.py
diff options
context:
space:
mode:
Diffstat (limited to 'pybluez/advanced/l2-unreliable-server.py')
-rw-r--r--pybluez/advanced/l2-unreliable-server.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/pybluez/advanced/l2-unreliable-server.py b/pybluez/advanced/l2-unreliable-server.py
new file mode 100644
index 0000000..d827775
--- /dev/null
+++ b/pybluez/advanced/l2-unreliable-server.py
@@ -0,0 +1,34 @@
+import sys
+import bluetooth
+
+if len(sys.argv) < 2:
+ print "usage: l2-unreliable-server"
+ sys.exit(2)
+
+timeout = int(sys.argv[1])
+assert timeout >= 0
+
+server_sock=bluetooth.BluetoothSocket( bluetooth.L2CAP )
+server_sock.bind(("",0x1001))
+server_sock.listen(1)
+while True:
+ print "waiting for incoming connection"
+ client_sock,address = server_sock.accept()
+ print "Accepted connection from %s" % str(address)
+
+ print "waiting for data"
+ total = 0
+ while True:
+ try:
+ data = client_sock.recv(1024)
+ except bluetooth.BluetoothError, e:
+ break
+ if len(data) == 0: break
+ total += len(data)
+ print "total byte read: %d" % total
+
+ client_sock.close()
+
+ print "connection closed"
+
+server_sock.close()