0

所以我有一个问题。我想使用 feck 将一些消息从 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();

所以我得到了写连接!,发送!但不是 afterSend。I在我的 c# 服务器上,我看到连接已完成,但我更新了一个 onMessage 调用..

有任何想法吗?

提前谢谢大家!

4

1 回答 1

0

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

于 2012-09-10T12:35:15.613 回答