无法使用fleck从javascript向c#发送消息

时间:2012-09-10 11:14:47

标签: c# javascript websocket

所以我有一个问题。我想使用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调用..

有什么想法吗?

提前谢谢你们!

1 个答案:

答案 0 :(得分:0)

websocket握手是一种异步操作。您可以在客户端注册onopen回调,并且只应在运行后将数据从客户端发送到服务器。有关详细信息,请参阅websocket API docs