C#Nugget服务器错误

时间:2012-04-04 10:30:34

标签: html5 version websocket

我正在尝试启动并运行一个简单的客户端\服务器websocket演示,我正在尝试使用C# Nugget project作为我的服务器。我可以通过Netscape(v5.1.4)连接到服务器,但不能通过Chrome(v18.0.1)连接到服务器,我已将问题跟踪到客户端握手。

Nugget希望客户端握手采用以下格式,这正是Netscape发送它的方式:

expected client handshake

另一方面,Chrome的客户端握手看起来像这样:

chromes client handshake

我已经强调了导致Nugget服务器问题的两个请求的差异 - sec-websocket参数。

我猜测Netscape和Chromes客户端握手的实现是基于websocket规范的不同版本。 有没有人有这方面的更多信息?是否可以只添加代码来处理两种类型的握手,或者是否已弃用?

欢迎任何见解,

詹姆斯

资源:Understanding Websocket Client Handshakes

1 个答案:

答案 0 :(得分:2)

看起来Netscape正在使用该协议的旧的,已弃用的Hixie变体。 Safari也使用它。 Chrome使用更现代的RFC 6455。您可以期望所有浏览器最终都使用RFC 6455。

假设您希望支持尽可能多的客户端类型,那么添加代码来处理这两种变体是可以的(确实是正确的)。请注意,握手后读/写的数据帧也会根据所使用的协议变量而改变。