【发布时间】:2012-11-20 06:39:34
【问题描述】:
我正在尝试使用http://www.tutorialspoint.com/html5/html5_websocket.htm 中示例中的 HTML5 连接到 C# TCP 服务器
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function WebSocketTest()
{
if ("WebSocket" in window)
{
alert("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("ws://localhost:9998/echo");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("Message to send");
alert("Message is sent...");
};
ws.onmessage = function (evt)
{
var received_msg = evt.data;
alert("Message is received...");
};
ws.onclose = function()
{
// websocket is closed.
alert("Connection is closed...");
};
}
else
{
// The browser doesn't support WebSocket
alert("WebSocket NOT supported by your Browser!");
}
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
</body>
</html>
TCP 服务器运行在本地机器的 4530 端口上。所以我改变了
var ws = new WebSocket("ws://localhost:9998/echo");
到
var ws = new WebSocket("ws://localhost:4530");
当我运行页面时,我收到消息 WebSocket is supported by your Browser! 并且它挂在那里。有什么帮助吗?
【问题讨论】:
-
您的服务器是否支持正确的
WebSocket协议?这可能取决于您使用的browser -
你的意思是tcp服务器也应该支持Websocket?就浏览器而言,消息WebSocket is supported by your Browser!够不够?
-
Websockets 在 TCP 之上使用了一种特殊的协议,包括一些额外的连接握手。它不像普通的套接字,你可以连接并开始通信。
-
@Mika,请看我之前评论中的链接(浏览器一词)。在那里你会看到不同的浏览器使用不同的 websocket 协议。您的测试只是检查浏览器是否完全支持 WebSockets,但没有说明所使用的协议版本
-
好的。感谢您消除我的一些误解。