简体   繁体   中英

How to send data from server.py to specific client

How to send data from server.py to specific client?

https://github.com/Pithikos/python-websocket-server

from websocket_server import WebsocketServer

# Called for every client connecting (after handshake)
def new_client(client, server):
    print("New client connected and was given id %d" % client['id'])
    server.send_message_to_all("Hey all, a new client has joined us")




# Called for every client disconnecting
def client_left(client, server):
    print("Client(%d) disconnected" % client['id'])


# Called when a client sends a message
def message_received(client, server, message):
    if len(message) > 200:
        message = message[:200] + '..'
    print("Client(%d) said: %s" % (client['id'], message))




PORT = 9001
server = WebsocketServer(PORT)
server.set_fn_new_client(new_client)
server.set_fn_client_left(client_left)
server.set_fn_message_received(message_received)
server.send_message_to_all("Hey all, a new client has joined us")
server.run_forever()
from websocket_server import WebsocketServer 
import threading
# Called for every client connecting (after 
# handshake)

def new_client(client, server):
    print("New client connected and was given id 
    %d" % client['id'])
    server.send_message_to_all("Hey all, a new 
    client has joined us")
    d = threading.Thread(name='daemon', 
    target=_send_to_client , args=[client, 
    server])
    d.setDaemon(True)
    d.start()

# Called for a specific client when a server event 
# such as a sensitive single is detected    
def _send_to_client(client, server):
    message = input()
    print (message)
    server.send_message(client,message)
    d = threading.Thread(name='daemon', 
    target=_send_to_client , args=[client, 
    server])
    d.setDaemon(True)
    d.start()


# Called for every client disconnecting
def client_left(client, server):
    print("Client(%d) disconnected" % 
    client['id'])


# Called when a client sends a message
def message_received(client, server, message):
    if len(message) > 200:
        message = message[:200]+'..'
    print("Client(%d) said: %s" % (client['id'], 
    message))


PORT=9001
server = WebsocketServer(PORT)
server.set_fn_new_client(new_client)
server.set_fn_client_left(client_left)
server.set_fn_message_received(message_received)
server.run_forever()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM