通过套接字发送什么(跨语言)

What to send trough sockets (cross language)

我有一个项目在工作,我必须使用服务器-客户端环境,我想在连接到本地 MySQL 数据库的 Python 中编写我的守护进程,并且应该处理所有客户端的请求,客户端也将 python 用于串行条形码读取,然后发送到守护程序,但也是 .net 中的管理应用程序,可以执行命令 and/or 从守护程序请求数据。

现在,我设法在客户端和服务器之间发送文本(顺便说一句,非常酷)但是发送命令、接收数据(从 mysql 获取)等的最佳实践是什么。 .?

我看到很多 XML / SOAP 等...,这是发送数据的 best/correct 方式吗?

其他应用怎么办?例如交换服务器? (只是好奇 :))

非常感谢您的建议!

对于跨语言通信,我会考虑使用 zeromq 而不是普通套接字。此外,我会将它与 bson 或 Protocol Buffers 结合使用,因为它们的性能优于 XML.

如果你不想切换到 zeromq,你仍然可以使用 bson 或 protocol buffers 恕我直言。

为您提供几个简单的解决方案:

HTTP 版本 1.0 或 1.1,用于简单的同步客户端驱动请求;用于 kickass 复杂内容的版本 2;用于临时异步消息的 WebSocket。有大量可用的库,您稍后可以轻松地将其包装到 SSL 中。厉害了。

分隔 JSON 流 JSON 文档很容易被给定编码中的非法字节分隔。我会推荐 UTF-8,因此 \xff 定界符。 JSON 具有普遍的可读性和可写性,无需任何额外的库。