我知道websocket是一种协议,因此它不应该依赖于任何操作系统要求,因为它恰好通过ftp或http进行通信。我找到了不同的库来使用这个协议,但它们似乎要求.Net 4+(没有Windows XP),至少是Visual Studio 2015(所以至少是Windows 7)并且通常没有要求......直到我尝试编译或运行某个库的示例(在安装任何编译它之后),我得到有关无效参数的运行时错误,不支持的内容,错误的错误。
经过几天的试验和错误,我决定提出这个奇怪的问题:有一种方法可以将这种协议用于较旧的操作系统,例如Windows XP或旧版本的Linux?我找到了浏览器支持的每个细节,但显然它只适用于客户端。用js编写的服务器的Node.js甚至可以用于旧的计算机和操作系统吗?
我找不到任何地方写一个服务器监听websocket的最低要求(这是一个协议,因此不难相信我什么都没发现:/)我需要通过语言或框架要求进行演绎(例如.net 4+,所以不是Windows XP)。
我想使用websocket执行RPC但是我无法在Windows XP和Visual Studio 2010中运行WAMP服务器(https://stackoverflow.com/a/10882808/1315873)(它在Visual Studio 2015下在Windows 7上运行完美)。
我可以使用其他语言来接受websocket上的连接...我的软件的另一部分是用.net 3.5编写的,所以我需要找到一些不易于调用的内容.net 3.5。
感谢您的帮助或解释。
答案 0 :(得分:3)
编写webSocket服务器的唯一系统要求是您拥有TCP并可以设置TCP服务器,侦听传入连接。 webSocket只是TCP上的一种协议。
webSocket连接在技术上是通过HTTP请求启动的,但是您需要的HTTP部分非常简单(只需解析一些传入的头以识别安全凭证和升级到webSocket协议的请求)和双方同意升级,然后协议切换到webSocket,并且在该连接上不再使用HTTP。
您可能会发现,您正在查看的webSocket库本身是在其他库(例如.NET)之上构建的,这些库会创建对其他库的依赖。这纯粹是他们实施的副产品,而不是任何方式的协议要求。
所以,是的,编写一个除了TCP库之外没有外部依赖关系且可以在Windows XP上轻松运行的webSocket服务器当然是可能的。