使用套接字时有关函数调用约定的建议

时间:2011-06-13 09:40:42

标签: sockets winsock calling-convention winsock2

我计划使用套接字在客户端32位应用程序和64位应用程序之间进行函数调用。

通过套接字接口调用函数,传递变量和返回参数的最佳方案是什么。我可以控制客户端和服务器代码,所以我可以实现任何东西。

我在想,让套接字包由以下组成: - 1个字:函数名称的长度(字符数) - string:实际的函数名称 - 1个字:函数参数的长度(以字节为单位) - 功能参数

请让我知道,最强大和可扩展的方法是什么。也许我可以重用编译器,Web服务或虚拟机调用约定所使用的原则。

提前致谢

1 个答案:

答案 0 :(得分:0)

我建议您使用Protocol Buffers进行序列化:

http://code.google.com/apis/protocolbuffers/docs/reference/cpp/index.html

教程:

http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

当您将对象发送到另一侧时,请以长度前缀(32位int)开头,该长度前缀定义您应该读取多少字节以获取完整的protobuf消息。