我今天刚开始学习WebSockets。我使用Safari和以下c#作为我的WebSocket服务器(http://www.codeproject.com/KB/webservices/c_sharp_web_socket_server.aspx)。
我的客户端如下所示:
<script type="text/javascript">
try{
var socket = new WebSocket('ws://localhost:8181');
alert(socket.readyState);
socket.onopen = function() {
alert('opened...');
};
socket.onclose = function() {
alert('closed');
};
socket.onerror = function(){
alert('error!');
}; }
catch(exception){
alert(exception);
}
</script>
在Safari上,我得到消息"关闭",这意味着事件onclose在onopen()之前被引发。我怀疑服务器正在关闭连接,你知道吗?另外,调查这类问题的最佳方法是什么?任何错误或原因代码?
谢谢!
我想我明白了。在Safari上,你可以启用Developer Tools
,我正在丢失Sec-WebSocket-Origin头,所以我继续并更改以下内容:
WebSocket-Origin changed to Sec-WebSocket-Origin