我正在尝试使用C作为我的语言绑定来开发alljoyn应用程序。我已经理解并实现了基础教程,对其进行了定制,并能够在服务器和客户端上构建应用程序。现在是我开发的第二部分,它通过读取文件并将它们放到alljoyn总线回复上来编写文件传输服务器和客户端。
由于Alljoyn回复只能是65536个字节,因此我在服务器和客户端之间构建了自己的协议,服务器在这个协议中分解消息,客户端依次接收消息块。现在我面临一个问题,我想简要介绍一下。
(1)如果我发送短信,我会很好地接收短信。
(2)如果我传输二进制数据,我会丢失数据。我的理解是alljoyn总线回复是一个字符串,每当我收到一个NULL时,所有后续字符都会在接收方读取为零。
如何减轻这种情况。
我想知道是否有任何方法可以掩盖我的二进制数据字符串中的NULL字符,或者我所遵循的方法本身存在缺陷。
我刚刚开始使用这个alljoyn框架,我非常新手。任何帮助都会有很大帮助。
答案 0 :(得分:0)
您应该使用字节数组('ay'的签名)作为二进制数据发送。这应该可以防止alljoyn在看到NULL时截断你的字符串。只要你告诉它你正在使用的是什么,AllJoyn就可以处理二进制数据。