Habituellement, nous ne mettons que les données que nous voulons envoyer en tant que paramètre de la méthode websocket.send()
, mais je veux savoir s'il existe d'autres paramètres comme IP que nous pouvons mettre entre crochets. Pouvons-nous l'utiliser de cette façon:
websocket.send(ip, data); // send data to this ip address
Ou devrais-je appeler d'autres méthodes?
Si je comprends bien, vous souhaitez que le serveur puisse envoyer des messages du client 1 au client 2. Vous ne pouvez pas connecter directement deux clients car l'une des deux extrémités d'une connexion WebSocket doit être un serveur.
Voici du pseudocodage JavaScript:
Client:
var websocket = new WebSocket("server address");
websocket.onmessage = function(str) {
console.log("Someone sent: ", str);
};
// Tell the server this is client 1 (swap for client 2 of course)
websocket.send(JSON.stringify({
id: "client1"
}));
// Tell the server we want to send something to the other client
websocket.send(JSON.stringify({
to: "client2",
data: "foo"
}));
Serveur:
var clients = {};
server.on("data", function(client, str) {
var obj = JSON.parse(str);
if("id" in obj) {
// New client, add it to the id/client object
clients[obj.id] = client;
} else {
// Send data to the client requested
clients[obj.to].send(obj.data);
}
});