Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket, appuifw, e32, thread
- def chat_server():
- server = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
- channel = socket.bt_rfcomm_get_available_server_channel(server)
- server.bind(("", channel))
- server.listen(1)
- socket.bt_advertise_service(u"btchat", server, True, socket.RFCOMM)
- socket.set_security(server, socket.AUTH | socket.AUTHOR)
- print "Waiting for clients..."
- conn, client_addr = server.accept()
- fd = conn.makefile("r+")
- waiting_for_msg_same_thread = e32.ao_callgate(receive_msg)
- waiting_for_msg = thread.start_new_thread(waiting_for_msg_same_thread, (fd, ))
- while(True):
- msg = appuifw.query("Send:", "text")
- send_msg(fd, msg)
- print "Client connected!"
- def chat_client():
- conn = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
- address, services = socket.bt_discover()
- if 'btchat' in services:
- channel = services[u'btchat']
- conn.connect((address, channel))
- print "Connected to server!"
- fd = conn.makefile("r+")
- waiting_for_msg_same_thread = e32.ao_callgate(receive_msg)
- waiting_for_msg = thread.start_new_thread(waiting_for_msg_same_thread, (fd, ))
- while(True):
- msg = raw_input("send: ")
- send_msg(fd, msg)
- else:
- appuifw.note(u"Target is not running a btchat server",
- "error")
- def receive_msg(fd):
- print "Waiting for message.."
- reply = fd.readline()
- print "Received: " + reply
- for i in xrange(4):
- print
- def send_msg(fd, msg):
- msg = appuifw.query(u"Send:", "text")
- print "Sending: " + msg
- print >> fd, msg
- index = appuifw.popup_menu([u"New server", u"Connect to server"],
- u"BTChat mode")
- if index != None:
- if index:
- chat_client()
- else:
- chat_server()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement