发布于 2012-08-22 12:52:21
对websockets的操作系统级HTTP.SYS支持仅限于Win8 / Windows Server2012-我同意这是愚蠢的(它应该是windows更新的一部分,或者最多是一个服务包,IMO)。
这意味着您不能直接从HttpListener
或ASP.NET使用对WebSockets的框架支持。
但是:至于“有没有可能创建一个WebSocket服务器”--当然...但前提是您自己处理TCP/IP通信,或者使用第三方库进行同样的处理。这有点烦人,但并不像听起来那么糟糕。
编辑:经过一些检查,我可以确认这个的服务器端组件不能在Windows7 (etc)上工作;IsWebSocketRequest
返回false
,即使它是一个带有Connection: Upgrade
和Upgrade: websocket
(Etc)头文件的web-socket请求(来自Chrome会话,因为它有帮助)。
然而,我很惊讶发现客户端组件不能工作,因为:客户端组件更简单,而且不涉及(或者至少不需要) HTTP.SYS。尝试使用它们会抛出一个PlatformNotSupportedException
。
发布于 2014-08-19 09:24:30
正如Marc所说,微软的API不能在Windows7上运行。然而,有几个开源库在Windows7上支持WebSockets,在某些情况下甚至可以通过Mono跨平台。
发布于 2019-10-14 23:47:57
引用System.Net.WebSockets documentation的话
System.Net.WebSockets命名空间中的某些类在Windows7、Windows Vista SP2和Windows Server2008上受支持。但是,在Windows8和Windows Server2012上仅支持客户端和服务器WebSockets的公共实现。Windows7、Windows Vista SP2和Windows Server2008上支持的System.Net.WebSockets命名空间中的类和类元素是抽象类。这允许应用程序开发人员使用客户端WebSockets的实际实现来继承和扩展这些抽象类。
换句话说: DIY实际实现。
https://stackoverflow.com/questions/12073455
复制相似问题