如果传递长类型,32位客户端如何与64位服务器通信



我们有一个在32位windows7上运行的32位C++GUI应用程序。我们正计划将带有C++应用程序的服务器迁移到64位linux。我们注意到,长类型在64位中更大。这将与从64位传递到32位的客户端-服务器消息不兼容。解决这种不兼容的好方法是什么?我们需要更改代码吗?怎样或者我们是否使用第三方软件进行转换?它是什么软件?

这就是为什么有标准化的int32_tuint32_t类型等,因此您可以根据需要专门选择类型。

在您发送的所有结构中,将所有long类型替换为int32_t可能需要做很多工作,尤其是如果这是一个大项目,但您(希望)只需要做一次。解决这个问题的另一种方法是将数据序列化为文本格式,然后在接收端对其进行反序列化,这具有很大的优势,即它将使通信几乎完全独立于平台。

最新更新