我是使用pywebsocket的websocket的新手,基本上试图用websocket和pywebsocket创建一个简单的聊天应用程序。 到目前为止,我完成了以下脚本
if ("WebSocket" in window)
{
//alert("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("ws://192.168.1.3:9998/echo");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
console.log("Channel opened");
//ws.send("Message to send");
//alert("Message is sent...");
//console.log("Message is sent...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
//alert("Message is received..."+received_msg);
console.log("message : "+received_msg);
};
ws.onclose = function()
{
// websocket is closed.
//alert("Connection is closed...");
console.log("connection closed");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket NOT supported by your Browser!");
}
function sendmessage(){
msg=document.getElementById("chat").value;
console.log(msg);
ws.send(msg);
document.getElementById("chat").value="";
}
现在问题是发送的消息回显到系统本身,如果另一个客户端连接到同一个通道,它的消息被回显给它自己,它们被发送到另一个连接到同一个通道的客户端。
pywebsocket初始化如下 python standalone.py -p 9998 -w ../ example /
那么如何连接两个系统并允许聊天。 提前致谢
答案 0 :(得分:0)
不确定,但是如果您想将任何收到的消息(由任何连接的客户端发送)广播到所有其他当前连接的客户端,那不是“回声”..而是“广播”。
这是example using AutobahnPython。
披露:我是Autobahn的原作者,并为Tavendo工作。