我正在寻找一个开源的、跨平台的、积极维护的.NET库,它提供了websocket功能,可以用于客户端和服务器端,使得大部分代码(在建立连接后)都可以使用相同的抽象,无论是在连接的哪一侧。理想情况下,它将是System.Net.WebSockets的平台无关实现,但如果它定义了自己的类型,只要有一些单一的抽象WebSocket类可以被客户端和服务器端的代码共享,我并不介意。
我看过的不符合条件的东西(但如果我错了,请纠正我):System.Net.WebSockets(仅限客户端,仅适用于Win8+)、WebSocket4Net(仅限客户端)、WebSocket Portable(仅限客户端)、Fleck(仅限服务器端)、WebSocketListener(仅限服务器端)、SuperWebSocket(仅限服务器端)、Owin.WebSocket(仅限服务器端)、PowerWebSockets(专有)、XSockets(专有)和Alchemy Websockets(最后发布于2012年,在跟踪器中有许多活动错误没有答案)。
我能找到的唯一符合要求的似乎是websocket-sharp。然而,让我担心的是跟客户端无法连接、无效数据帧等问题相关的大量已打开的问题 - 这听起来它还不太成熟。是否有其他符合我的要求的候选库我错过了?或者我对上面列出的任何库仅支持客户端/服务器有误吗?
我看过的不符合条件的东西(但如果我错了,请纠正我):System.Net.WebSockets(仅限客户端,仅适用于Win8+)、WebSocket4Net(仅限客户端)、WebSocket Portable(仅限客户端)、Fleck(仅限服务器端)、WebSocketListener(仅限服务器端)、SuperWebSocket(仅限服务器端)、Owin.WebSocket(仅限服务器端)、PowerWebSockets(专有)、XSockets(专有)和Alchemy Websockets(最后发布于2012年,在跟踪器中有许多活动错误没有答案)。
我能找到的唯一符合要求的似乎是websocket-sharp。然而,让我担心的是跟客户端无法连接、无效数据帧等问题相关的大量已打开的问题 - 这听起来它还不太成熟。是否有其他符合我的要求的候选库我错过了?或者我对上面列出的任何库仅支持客户端/服务器有误吗?
System.Net.WebSockets.WebSocket
来实现,则对我而言这将起作用。 - Pavel MinaevTcpClient
和TcpListener
,但最终都会给您一个Stream
。我觉得标准的.NET库已经有了WebSocket,它是WebSockets的等效共享抽象,但似乎没有人在他们的WS库中实际使用它。 - Pavel Minaev