Ich habe durch viele Foren und Websites gegangen, aber keine Lösungen gefunden, die mein Problem lösen können.Wie man Payload zu bestimmten Benutzer von Python Autobahn/twisted senden
Ich habe diese server.py Datei:
from autobahn.twisted.websocket import WebSocketServerProtocol, \
WebSocketServerFactory
class MyServerProtocol(WebSocketServerProtocol):
def onConnect(self, request):
print("Client connecting: {0}".format(request.peer))
def onOpen(self):
print("WebSocket connection open.")
def onMessage(self, payload, isBinary):
if isBinary:
print("Binary message received: {0} bytes".format(len(payload)))
else:
print("Text message received: {0}".format(payload.decode('utf8')))
print("Text message received: {0}".format(self.peer))
# echo back message verbatim
self.sendMessage(payload, isBinary)
def onClose(self, wasClean, code, reason):
print("WebSocket connection closed: {0}".format(reason))
if __name__ == '__main__':
import sys
from twisted.python import log
from twisted.internet import reactor
log.startLogging(sys.stdout)
factory = WebSocketServerFactory(u"ws://127.0.0.1:9000")
factory.protocol = MyServerProtocol
# factory.setProtocolOptions(maxConnections=2)
# note to self: if using putChild, the child must be bytes...
reactor.listenTCP(9000, factory)
reactor.run()
Was ich tun möchte, ist innerhalb onMessage möchte ich die Nutzlast von einem Client empfangen und dann die Nutzlast an einen anderen Client senden, ich will nicht, die Payload an den gleichen Client zurückgeben.
Derzeit kann ich die Nutzlast erfolgreich empfangen. Aber wie wird diese Payload an einen anderen Client gesendet?
Ich habe ähnliche Fragen in vielen Seiten gesehen, aber keine von ihnen geholfen.