写一个项目需要用到zmq和protobuf
mac上的IDE是xcode
1.官网下载并安装
2.在xcode中配置search library和动态链接库
3.编写过程中,我用了c++ binder of protobuf,下载完成
在正式写的时候,我发现了一个坑。
如果proto导出为string
那么string无法用zmq直接传,这时候要把string转换为char *
这里有几个可以做的事:
1.proto直接导出为char *
char * a = mallorc(pb.size());
pb.serialarray(a,pb.size());
然后传输的时候,
memset到request.data里
2.string转换为char*
用string.c_str转换
然后再复制到request.data里
我发现得到后,会少很多。
总而言之,接收到的信息会变小
我总结是因为可能再哪一步转换的问题,string转char*会去掉空格或者截止到/0之类的
后来我发现、、并不是的。
而是因为接收端不能用strlen(char*)来作大小
而应该用recerive.size()
呵呵
最后连接服务器的时候
不要忘记开放端口