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