Exemplo n.º 1
0
    def __init__(self, serviceName = u'FluidNexus', database = None, library="e32"):
        """Initialize the server be setting up the server socket and advertising the FluidNexus service."""

        log.write("Starting Fluid Nexus Server")
        # Save our database object 
        self.database = database

        # Save our service name
        self.serviceName = serviceName

        self.mutex = thread.allocate_lock()

        self.library = library

        # Setup our server socket
        if (self.library == "e32"):
            self.serverSocket = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
            self.serverPort = socket.bt_rfcomm_get_available_server_channel(self.serverSocket)
            self.serverSocket.bind(("", self.serverPort))
            self.serverSocket.listen(self.numberConnections)
            socket.bt_advertise_service(self.serviceName, self.serverSocket, True, socket.RFCOMM)

            # Remove security protections
            # @TODO@ Make sure this actually does what we want it to do!
            socket.set_security(self.serverSocket, 0)

        elif (self.library == "lightblue"):
            self.serverSocket = lightblue.socket()
            self.serverSocket.bind(("", 0))
            self.serverSocket.listen(self.numberConnections)
            lightblue.advertise(self.serviceName, self.serverSocket, lightblue.RFCOMM)
Exemplo n.º 2
0
 def listen(self, backlog):
     self._sock.listen(backlog)
     
     # when listen() is called, set a default security level since S60
     # sockets are required to have a security level
     # This should be changed later to allow to set security using
     # setsockopt()
     _socket.set_security(self._sock, _socket.AUTH)
Exemplo n.º 3
0
    def conectar(self, data):
        print "bind done"
        self.sock.bind((self.host, self.port))
        self.sock.listen(1)
        socket.bt_advertise_service(u"jurgen", self.sock, True, socket.RFCOMM)
        socket.set_security(self.sock, socket.AUTH)
        print "I am listening"

        (self.conn, peer_addr) = self.sock.accept()
        print "Connection from %s" % peer_addr
        self.conn.send(self._tabuleiroString(data))
Exemplo n.º 4
0
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()
    print "Client connected!"
    talk(conn, None)
Exemplo n.º 5
0
 def server_socket():
     log("Attempting to create server")
     try:
         server = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
         server.bind(("", BT_CHANNEL))
         server.listen(1)
         socket.set_security(server, socket.AUTH | socket.AUTHOR)
         socket.bt_advertise_service(BT_SERVICE_NAME, server, True, socket.RFCOMM)
         conn, client_addr = server.accept()
         return conn
     except:
         log("Failed to create connection")
         return None
Exemplo n.º 6
0
 def server_socket():
     log("Attempting to create server")
     try:
         server = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
         server.bind(("", BT_CHANNEL))
         server.listen(1)
         socket.set_security(server, socket.AUTH | socket.AUTHOR)
         socket.bt_advertise_service(BT_SERVICE_NAME, server, True,
                                     socket.RFCOMM)
         conn, client_addr = server.accept()
         return conn
     except:
         log("Failed to create connection")
         return None
Exemplo n.º 7
0
def start_two_player():
    global two_player
    global server
    global connection

    menu_message(u"Creating connection")

    # OK, start the bluetooth server
    try:
        server_socket = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
        server_socket.bind(("", BT_CHANNEL))
        menu_message(u"Waiting for opponent")
        server_socket.listen(1)
        socket.set_security(server_socket, socket.AUTH | socket.AUTHOR)
        socket.bt_advertise_service(BT_SERVICE_NAME, server_socket, True, socket.RFCOMM)
        connection, addr = server_socket.accept()
    except:
        menu_message(u"Failed to create connection")
        print sys.exc_info()[0]
        return

    # Get the first command - should be 'start'
    try:
        start=connection.recv(1024)
        if 'start'==start:
            two_player=True
            server=True
            initialize_game()
            play_game()
            initialize_menu()
        else:
            initialize_menu()
            menu_message(u"Recieved bad data")
    except:
        print sys.exc_info()[0]
        initialize_menu()
        menu_message(u"Connection failed")

    connection.close()
    server_socket.close()
            app_lock.signal()
        except:
            pass

    global server_socket, client_socket, connected, shutdown, timer, app_lock, heartbeat_timeout, heartbeat_start

    connected = False

    server_socket = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
    server_socket.setblocking(False)
    port = socket.bt_rfcomm_get_available_server_channel(server_socket)
    server_socket.bind(("", port))
    server_socket.listen(5)
    socket.bt_advertise_service(u"Bluetooth Server", server_socket, True,
                                socket.RFCOMM)
    socket.set_security(server_socket, socket.AUTHOR)

    while not shutdown:
        timer.cancel()
        if connected:
            #print "heartbeat_timeout;", heartbeat_timeout, ",", "time.time()-heartbeat_start", time.time()-heartbeat_start
            if (time.time() - heartbeat_start) > heartbeat_timeout:
                disconnect_client()
                continue

            timer.after(0.1, recv_msg)
            try:
                app_lock.wait()
            except:
                pass
        else:
Exemplo n.º 9
0
from watch import parser

myparser = parser()


# Create server for clock to connect to

server = socket.socket(socket.AF_BT, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
print server._sock
channel = socket.bt_rfcomm_get_available_server_channel(server._sock)
#channel = 1
print channel
server.bind(("", channel))
socket.bt_advertise_service(u"Serial", server._sock, True, socket.RFCOMM)
socket.set_security(server._sock, socket.AUTHOR)
server.listen(1)
print "Waiting..."
watch_client, client_info = server.accept()
print "Accepted connection from ", client_info
print dir(watch_client)

fd = None

try:
    while True:
        #(rr,ww,er) = select.select([watch_client,sys.stdin],[],[])
        (rr,ww,er) = select.select([watch_client],[],[])
        for r in rr:
                if r == watch_client:
#                        if fd == None: