C#websocket服务器未在html5中触发onmessage事件

C#websocket服务器未在html5中触发onmessage事件,c#,html,websocket,C#,Html,Websocket,也许我现在急需帮助 我目前在使用c#和HTML5的websocket服务器方面遇到了一个问题。它不是在html5中触发my onmessage()事件。它打开套接字连接并触发onopen()事件。但是,一旦建立了连接,它将继续关闭连接。以下是我的简单代码: 服务器(c#): 这是: alert("Message sent!"); 但在那之后,连接就关闭了。我还可以检查服务器是否从客户端接收数据。问题是,一旦我将数据从服务器发送到客户机,为了能够返回客户机给我的数据,连接突然关闭。可能是什么问题

也许我现在急需帮助

我目前在使用c#和HTML5的websocket服务器方面遇到了一个问题。它不是在html5中触发my onmessage()事件。它打开套接字连接并触发onopen()事件。但是,一旦建立了连接,它将继续关闭连接。以下是我的简单代码:

服务器(c#):

这是:

alert("Message sent!");

但在那之后,连接就关闭了。我还可以检查服务器是否从客户端接收数据。问题是,一旦我将数据从服务器发送到客户机,为了能够返回客户机给我的数据,连接突然关闭。可能是什么问题?

Websocket消息不是纯文本;他们需要应用一个简单的帧协议

对于客户端->服务器和服务器->客户端消息,框架规则略有不同。我想象当您尝试在不应用不同框架的情况下回显其消息时,客户端正在关闭其连接


有关如何解码/编码消息,请参阅RFC6455的说明。或者,如果你使用.NET4.5,你可以考虑使用而不是编写你自己的服务器。

是的,我相信我有数据框架,我在你的样例代码中看不到。每个传入消息都需要先剥离一些前导字节,然后转换其余字节。每封传出的邮件都需要添加一些前导字节。您是否有我可以参考的实际示例代码?我很难理解这个数据框架,请看一些伪代码。但是,如果您不理解规范,我强烈建议您使用.NET4.5类,或者寻找现有的第三方服务器。搜索“开源websocket服务器c#”将为您提供大量免费许可的选项。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script type="text/javascript">
        function connect() {
            var ws = new WebSocket("ws://localhost:8080");
            console.log(ws);
            ws.onopen = function () {
                alert("About to send data");
                ws.send("test"); // I WANT TO SEND THIS MESSAGE TO THE SERVER!!!!!!!!
                alert("Message sent!");
            };

            ws.onmessage = function (evt) {
                alert("About to receive data");
                var received_msg = evt.data;
                alert("Message received = "+received_msg);
            };
            ws.onclose = function () {
                // websocket is closed.
                alert("Connection is closed...");
            };
        };

        function send(){
        }


    </script>
</head>
<body style="font-size:xx-large" >
    <div>
    <a href="#" onclick="connect()">Click here to start</a></div>

</body>
</html>
 alert("About to send data");
alert("Message sent!");