Javascript 是否有一个TCP套接字库/协议可以进行消息帧,并且在JS&;中受支持;C#?

Javascript 是否有一个TCP套接字库/协议可以进行消息帧,并且在JS&;中受支持;C#?,javascript,c#,node.js,sockets,websocket,Javascript,C#,Node.js,Sockets,Websocket,我正在构建一个应用程序,它要求客户端使用服务器在彼此之间交换消息(类似于聊天) 我想使用Node JS用JavaScript编写服务器,客户端应用程序是用C#.NET编写的 我已经研究了一段时间,并放弃了Socket.IO,因为缺乏C#支持,而且我正在寻找更低级、更灵活/可定制的东西 我曾经编写过一个非常类似的应用程序,它使用内置的NodeJS‘net’模块作为服务器和C#TCPClient客户端,它可以工作,但它使用流,我必须在每条消息之前为消息长度添加前缀 我正在寻找一些更冗余的东西,它具有

我正在构建一个应用程序,它要求客户端使用服务器在彼此之间交换消息(类似于聊天)

我想使用Node JS用JavaScript编写服务器,客户端应用程序是用C#.NET编写的

我已经研究了一段时间,并放弃了Socket.IO,因为缺乏C#支持,而且我正在寻找更低级、更灵活/可定制的东西

我曾经编写过一个非常类似的应用程序,它使用内置的NodeJS‘net’模块作为服务器和C#TCPClient客户端,它可以工作,但它使用流,我必须在每条消息之前为消息长度添加前缀

我正在寻找一些更冗余的东西,它具有开箱即用的消息框架,并且由我使用的语言支持

我发现“ws”(WebSocket)npm模块似乎是一个很有前途的候选者,特别是因为它可能与C#Socket类(这也是TCPistener和TCPClient类使用的底层套接字)配合得很好但就我的一生而言,我不知道我是否仍然需要一个套接字流,或者只是为新的消息事件设置一个事件处理程序


我正在寻找一种实现起来非常简单的东西,它会通知我收到的每一条消息,这样我就可以处理它,无论消息或缓冲区大小如何(我计划发送平均一兆字节大小的消息…),我永远不想处理缓冲区,当然,它在上述语言中应该得到很好的支持。

WebSocket已经可以处理消息,您不需要在大小前加前缀,只需挂接到消息事件,它就会被完整地接收


我个人使用websocket sharp是因为它是可移植的,并且在mono/linux下工作得非常好,但是如果您的目标只是Windows,您可以使用集成的.net websocket:

websocket处理消息,您不需要在大小前加前缀,您只需挂接到消息事件,它将被完整接收。@Gusman那么服务器端我使用“ws”了吗?要在客户端使用的包/类的名称是什么(使用c#)?我使用websocket sharp是因为它是可移植的,并且与mono/linux完美配合,但是如果您的目标只是Windows,那么您可以使用集成的websocket:@Gusman请发表您的评论作为答案,我会接受它。我的最终实现将是流式图像,消息最大可达1MB,我在使用流协议时遇到了一些问题,其中消息只部分到达缓冲区,我必须等到完整消息到达,我只能在知道丢失了多少字节的情况下等待,才能知道我需要消息的长度。如果你说,无论大小,使用WebSockets都可以确保消息完全到达,那么我对它没有问题,我也在网上读到WebSockets做自己的消息框架来确保这一点。是的,WebSockets内部使用自己的框架控件,因此可以确保如果消息到达,它将是完整的。