当前位置: 首页 > 知识库问答 >
问题:

通过WebSocket从Safari 5.1.7连接到IIS 8

雷方伟
2023-03-14

我的IE,Chrome,Chromeandroud,Opera,Firefox浏览器通过WebSocket成功连接到我的IIS。看一个例子:

来自客户端的握手如下所示:

GET/SimpleCatApplication/ChatHandler。ashx HTTP/1.1

主持人:pc2014:80

连接:升级

Pragma:没有缓存

缓存控制:没有缓存

升级:webSocket

来源:http://pc2014

Sec WebSocket版本:13

User-Agent: Mozilla/5.0(Windows NT 6.3; WOW64)AppleWebKit/537.36(KHTML, like Gecko)Chrome/45.0.2454.85Safari /537.36

接受编码:gzip、deflate、sdch

接受语言:ru, en; q=0.8, en-US; q=0.6

Sec WebSocket密钥:RRKYVVAPPKMMNITSUH9BNG==

sec-WebSocket-扩展:perMessage-放气;client_max_window_bits

来自服务器的握手如下所示:

HTTP/1.1 101交换协议

缓存控制:专用

升级:WebSocket

服务器:Microsoft IIS/8.5

X-AspNet-Version:4.0.30319

Sec WebSocket验收:IQ/qcgyu36N/d1p0JEU7nZ3W8Vo=

连接:升级

X-Powered-By:ASP。网

日期:周三,格林威治时间9月16日2015 23:54:37

但如果我使用Safary bowser,那么:

来自客户端的握手如下所示:

GET/SimpleCatApplication/ChatHandler。ashx HTTP/1.1

升级:WebSocket

连接:升级

主持人:pc2014:80

超文本传输协议

Sec-WebSocket-Key1: N9 Q32K\275z 5z

Sec-WebSocket-Key2:-1 z 6#HA g)1Aue0483 420d

来自服务器的握手如下所示:

HTTP/1.1200ok

缓存控制:专用

服务器:Microsoft IIS/8.5

X-AspNet-Version:4.0.30319

X-Powered-By:ASP。网

日期:2015年9月16日星期三23:56:19 GMT

内容长度:0

HTTP/1.1400错误请求

内容类型:text/html;字符集=美国ascii码

服务器:Microsoft HTTPAPI/2.0

日期:2015年9月16日星期三23:56:19 GMT

连接:关闭

内容-长度: 326

HTTP错误400。请求动词无效。

请告诉我错误在哪里?或者Safary发送了错误的请求,或者IIS识别错误。

我使用过www.websocket。组织测试网站。在测试之前,我已将服务器地址从“ws://echo.websocket.org”替换为我的IIS地址

共有2个答案

霍鸣
2023-03-14

使用SignalR库。ASP. NET SignalR是ASP. NET开发人员的一个新库,它使向应用程序添加实时Web功能变得非常简单。什么是“实时网络”功能?这是一种让服务器端代码实时向连接的客户端推送内容的能力。

韩景胜
2023-03-14

Safari似乎实现了WebSocket标准的一个旧版本,名为hybi。

显然是ASP。NET仅支持最终版本RFC6455。这也是主要浏览器使用的版本。

 类似资料:
  • ap.sendSocketMessage(OPTION, CALLBACK) 通过 WebSocket 连接发送数据,需要先 ap.connectSocket,并在 ap.onSocketOpen 回调之后才能发送。 OPTION 参数说明 名称 类型 必选 描述 data String/ArrayBuffer 否 请求的参数 代码示例 <script src="https://gw.alipay

  • 问题内容: 我将Redis To Go与https://github.com/mranney/node_redis库结合使用。Redis给了我一个看起来像的URL,但是我不知道如何使用它,因为它只占用了主机和端口。 问题答案: 我相信您拥有的网址的方案是: 。 我不相信被使用。提供了两种登录方法:和。自述文件中有详细信息,但以下是相关部分供参考: redis.createClient(端口,主机,

  • 我正在运行带有公开WebSocketendpoint的服务器。下面是我的: 问题是如何使用或或查询参数实现建立WS连接的身份验证? 更好的选择是避免使用Spring Security。 多谢了。

  • 问题内容: 我正在尝试通过网络连接到MySQL数据库。我已经安装了MySQL,并且该服务在默认端口上运行。我还将SQL连接器安装到jar文件中,并将Java JDK添加到服务器计算机中。我可以使用以下代码连接到本地数据库: 但是,当我尝试通过IP地址(例如:192.168.1.45)通过网络连接到它时: 我收到连接错误: 有人知道这个问题是什么吗?我需要添加其他地址吗?我已经使用地址添加了默认端口

  • Jenkins master运行在Amazon实例上,从机设置在专用的Soyoustart机器上。工作正常,直到需要重做从属设置:重新安装OS,安装Java,向从属authorized_keys添加masters key,并删除/再次添加masters known_hosts中的从属。为从机设置新的凭据,并在Jenkins master中配置节点,但它无法连接到从机。 设置是相同的,并且一直在与其

  • 问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;