def iniciar_websocket_server(port): server = wspy.websocket() server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('', port)) server.listen(5) while True: client, addr = server.accept() # EchoConnection(client).receive_forever() cliente = Cliente_connection(client) clientes.append(cliente) hilo = Cliente_thread(cliente) hilo.daemon = True hilo.start()
def main(): try: while True: try: instances = get_json('http://localhost:%s/json' % port) break except: pass for instance in instances: if instance['url'] == 'http://example.com/5543': debugger_url = instance['webSocketDebuggerUrl'] break else: raise Exception('Could not find browser') url_parts = urlparse.urlparse(debugger_url) def recv_callback(*args): print args sock = wspy.websocket(location=url_parts.path, recv_callback=recv_callback) sock.connect(('', url_parts.port)) #sock.setblocking(0) sock.send( wspy.Frame( wspy.OPCODE_TEXT, '{"id":122,"method":"Page.navigate","params":{"url":"http://bocoup.com"}}' )) # This loop reports "no data read from socket" indefinitely while True: try: print sock.recv() break except socket.error as e: pass finally: chrome.terminate() shutil.rmtree(profile_dir)
def onopen(self): print 'Connection opened at %s:%d' % self.sock.getpeername() def onmessage(self, message): print 'Received message "%s"' % message.payload #self.send(wspy.TextMessage(message.payload)) for cliente in clientes: if self != cliente: cliente.send(wspy.TextMessage(message.payload)) def onclose(self, code, reason): clientes.remove(self) print 'Connection closed' server = wspy.websocket() server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('', 9998)) server.listen(5) class ClientThread(threading.Thread): def __init__(self, client): threading.Thread.__init__(self) self.cliente = client def run(self): self.cliente.receive_forever() threadings = []
import socket import wspy class EchoConnection(wspy.Connection): def onopen(self): print 'Connection opened at %s:%d' % self.sock.getpeername() self.send(wspy.TextMessage(u"test")) def onmessage(self, message): print 'Received message "%s"' % message.payload def onclose(self, code, reason): print 'Connection closed' server = wspy.websocket() server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('127.0.0.1', 12345)) server.listen(5) while True: client, addr = server.accept() EchoConnection(client).receive_forever()
while True: if not clients: break status = Frame(OPCODE_TEXT, json.dumps(dict(stats()))) for client in list(clients): try: client.send(status) except socket.error: print >>sys.stderr, 'Client disconnected' clients.remove(client) time.sleep(1) server = websocket() server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('', 8100)) server.listen(5) t = Thread(target=update) t.daemon = True try: while True: try: sock, address = server.accept() except socket.error: continue print >>sys.stderr, 'Client connected at %s:%d' % address
while True: if not clients: break status = Frame(OPCODE_TEXT, json.dumps(dict(stats()))) for client in list(clients): try: client.send(status) except socket.error: print >> sys.stderr, 'Client disconnected' clients.remove(client) time.sleep(1) server = websocket() server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('', 8100)) server.listen(5) t = Thread(target=update) t.daemon = True try: while True: try: sock, address = server.accept() except socket.error: continue print >> sys.stderr, 'Client connected at %s:%d' % address