- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在构建一个应用程序,该应用程序要求客户端使用服务器在彼此之间交换消息(类似于聊天)。
我想使用 Node JS 用 JavaScript 编写服务器,客户端应用程序用 C#.NET 编写。
我研究了一段时间并放弃了 Socket.IO,因为缺乏 C# 支持,而且我正在寻找更底层、更灵活/可定制的东西。
我曾经编写过一个非常相似的应用程序,它使用内置的 NodeJS“net”模块作为服务器和 C# TCPClient 客户端,它可以工作,但它使用流,我必须在消息长度之前添加前缀每条消息。
我正在寻找一些更冗余的东西,它具有开箱即用的消息框架,并且受到我正在使用的语言的支持。
我发现“ws”(WebSocket)npm 模块似乎是一个很有前途的候选者,特别是因为它可能与 C# Socket 类(也是 TCPistener 和 TCPClient 类使用的底层套接字)很好地配合但对于我的一生,我无法弄清楚我是否仍然需要期待 Socket Stream 或者只是为新消息事件设置一个事件处理程序。
我正在寻找一种非常易于实现的东西,并且会通知我收到的每条消息,以便我可以处理它,无论消息或缓冲区的大小如何(我计划发送平均消息大小为一兆字节.. .),我从来不想处理缓冲区,当然上面的语言应该很好地支持它。
最佳答案
WebSockets 已经可以处理消息了,你不需要为大小添加前缀,只需挂接消息事件即可完成接收。
我个人使用 websocket-sharp 因为它是可移植的并且在 mono/linux 下完美工作,但是如果您的目标只是 Windows,则可以使用集成的 .net websockets:https://msdn.microsoft.com/es-es/library/system.net.websockets.websocket(v=vs.110).aspx
关于javascript - 是否有 TCP 套接字库/协议(protocol)可以进行消息分帧并受 JS 和 C# 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38487831/
我是一名优秀的程序员,十分优秀!