我有一个用于websockets的小型C#服务器。连接似乎已经很好地建立了,但我的websocket在javascript端的onopen功能永远不会因某种原因被调用,所以连接基本上永远不会正常打开。
Debug.WriteLine("Client connected");
writer.WriteLine("HTTP/1.1 101 Web Socket Protocol Handshake");
writer.WriteLine("Upgrade: WebSocket");
writer.WriteLine("Connection: Upgrade");
writer.WriteLine("WebSocket-Origin: http://localhost:8080");
writer.WriteLine("WebSocket-Location: ws://localhost:8181/websession");
writer.WriteLine("");
我发送回客户端的代码。
这是javascript端的代码
function openSocket()
{
var ws = new WebSocket("ws://localhost:8181/websession");
ws.onclose = function()
{
alert("state is: " + ws.readyState);
alert('connection closed!');
}
ws.onopen = function()
{
alert('handshake established');
}
}
onopen函数永远不会被调用,即使我的服务器收到连接请求并回答它。相反,onclose函数被调用。我有什么想法可能做错了吗?问题很可能在c#部分,因为chrome部分工作正常。