zmq进行图片的传输
来源:互联网 发布:华盛顿大学知乎 编辑:程序博客网 时间:2024/06/11 01:42
原始数据
cv::Mat mat
编码
vector<uchar> data_encode;cv::imencode(".jpg",mat,data_encode);
传输
zmq::context_t context(1);zmq::socket_t skt(context,ZMQ_PUB);skt.bind("tcp://*:20000);zmq::message_t msg(data_encode.size());memcpy(msg.data(),data_encode.data(),data_encode.size());skt.send(msg);
转发(根据实际情况中转了一下)
zmq::context_t context(1);zmq::socket_t socket_get(context,ZMQ_SUB);socket_get.setsockopt(ZMQ_SUBSCRIBE,"",0);socket_get.connect("tcp://127.0.0.1:20000");zmq::socket_t socket_pos(context,ZMQ_PUB);socket_pos.setsockeopt(ZMQ_CONFLATE,1);//缓冲消息条数为1,需要实时传输图片时设置。将消息队列改装了消息栈。。哈哈socket_pos.bind("tcp://*:20001");while(true){ zmq::message_t request; socket_get.recv(&request); if(request.size()==0) break; socket_pos.send(request);}
接收
@Overridepublic void run(){ ZMQ.Context context = ZMQ.context(1); ZMQ.Socket socket = context.socket(ZMQ.SUB); socket.subscribe(""); socket.setConflate(true); socket.connect("tcp://192.168.xx.xx:200001"); while(!Thread.currenThread().isInterrupted()){ byte[] msg = socket.recv(0); UIThreadHandler.sendMessage(....); } socket.close(); context.term();}
显示
private void clientMessageReceived(byte[] msgBody){ ByteArrayInputStream inputStream = new ByteArrayInputStream(msgBody); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); imageView.setImageBitmap(bitmap);}
阅读全文
0 0
- zmq进行图片的传输
- android与C#写的webbservice进行图片传输
- php-zmq的安装
- ZMQ的初步学习
- ZMQ
- ZMQ
- ZMQ
- UDP传输图片的尝试
- Java使用Socket进行字符串和图片文件同时传输
- windows下zmq的编译
- ZMQ的学习和研究
- zmq的安装以及调试
- ZMQ(java)-遇到的问题
- 使用 JSON 进行数据的异步传输
- 利用jquery进行xml数据的传输
- Java利用TCP进行文件的传输
- 利用SecureCRT进行文件的传输
- 使用 JSON 进行数据的异步传输
- 如何配置MySQL远程连接
- 切换手机的输入法
- 我的DBA之路——对内存体系的整理
- Kafka的Log存储解析
- DLL调用(1):C++静态调用DLL
- zmq进行图片的传输
- 斐波那契数列
- Java多线程学习(吐血超详细总结)
- mtk平台dsi clock设置
- Android framework系统默认设置修改
- jdk源码分析--ArrayList
- activiti工作流 部门会签 multiInstance配置
- openstreetmap website部署
- kuangbin专题五 并查集 HDU1272 小希的迷宫