通过WebSocket从Safari 5.1.7连接到iis8



我的IE、Chrome、Chrome android、Opera、Firefox浏览器通过WebSocket成功连接到我的IIS。参见示例:

来自客户端的握手如下:

/SimpleChatApplication/ChatHandler。ashx HTTP/1.1

主持人:pc2014:80

连接:升级

杂注:no - cache

cache - control: no - cache

升级:websocket

产地:http//pc2014

Sec-WebSocket-Version: 13

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

Accept-Encoding: gzip, deflate, sdch

接收语言:俄文,en; q = 0.8, en - us; q = 0.6

Sec-WebSocket-Key: rrKYVVaPKmMnINtsUh9BNg = =

Sec-WebSocket-Extensions: permessage-deflate;client_max_window_bits

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

HTTP/1.1 101交换协议

cache - control:私人

升级:Websocket

服务器:microsoft iis/8.5

X-AspNet-Version: 4.0.30319

Sec-WebSocket-Accept:智商/qcgyu36N/d1p0JEU7nZ3W8Vo =

连接:升级

X-Powered-By: ASP。净

日期:Wed, 16 Sep 2015 23:54:37 GMT

但是如果我使用safari浏览器,那么:

来自客户端的握手如下:

/SimpleChatApplication/ChatHandler。ashx HTTP/1.1

升级:WebSocket

连接:升级

主持人:pc2014:80

来源:http://pc2014

Sec-WebSocket-Key1: N9 Q32K275z 5z

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

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

HTTP/1.1 200 OK

cache - control:私人

服务器:microsoft iis/8.5

X-AspNet-Version: 4.0.30319

X-Powered-By: ASP。净

日期:Wed, 16 Sep 2015 23:56:19 GMT

内容长度

: 0

HTTP/1.1 400错误请求

的content - type: text/html;charset = us - ascii

服务器:Microsoft-HTTPAPI/2.0

日期:Wed, 16 Sep 2015 23:56:19 GMT

连接:紧密的

内容长度

: 326


错误请求

错误请求——无效的动词

HTTP错误400。请求谓词无效


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

我使用www.websocket.org网站进行测试。在测试

之前,我已经将服务器地址从"ws://echo.websocket.org"替换为我的IIS地址。

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

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

使用SignalR库。ASP。. NET SignalR是一个面向asp.net的新库。NET开发人员可以非常简单地将实时web功能添加到应用程序中。什么是"实时网络"功能?它是让您的服务器端代码实时地将内容推送到连接的客户端的能力。

相关内容

  • 没有找到相关文章

最新更新