所以我有一个问题。我想使用fleck从javascript向我的c#服务器发送一些消息。我在我的应用程序中启动服务器,如:
var allSockets = new List<IWebSocketConnection>();
var server = new WebSocketServer("ws://localhost:8081");
server.Start(socket =>
{
socket.OnOpen = () => allSockets.Add(socket);
socket.OnClose = () => allSockets.Remove(socket);
socket.OnMessage = message =>
{
foreach (var s in allSockets.ToList())
s.Send(message);
};
});
在我的javascript方面,我有:
function sendPodatke(){
document.write('send!');
socket.send("javascript");
document.write('aftersend!');
}
function connect(){
document.write('connect!');
socket = new WebSocket('ws://localhost:8081');
socket.onmessage = function(mess) {
animateCharacter(mess.data);
};
};
connect();
sendPodatke();
所以我写连接!,发送!但不是在发送之后。在我的c#服务器上,我看到连接已经完成,但我更新了一个onMessage调用..
有什么想法吗?
提前谢谢你们!
答案 0 :(得分:0)
websocket握手是一种异步操作。您可以在客户端注册onopen
回调,并且只应在运行后将数据从客户端发送到服务器。有关详细信息,请参阅websocket API docs。