zmq-ios framwork
1.附件见zeromq-ios.framework百度网盘/iOS/zmq
#import “ZMQObjC.h"
ZMQContext *ctx = [[ZMQContext alloc] initWithIOThreads:];
NSString *endpoint = @"tcp://localhost:5555";
ZMQSocket *requester = [ctx socketWithType:ZMQ_REQ];
BOOL didConnect = [requester connectToEndpoint:endpoint];
if (!didConnect) {
NSLog(@"*** Failed to connect to endpoint [%@].", endpoint);
return;
}
int kMaxRequest = ;
NSData *request = [@"Hello" dataUsingEncoding:NSUTF8StringEncoding];
for (int request_nbr = ; request_nbr < kMaxRequest; ++request_nbr) {
@autoreleasepool {
NSLog(@"Sending request %d.", request_nbr);
[requester sendData:request withFlags:];
NSLog(@"Waiting for reply");
NSData *reply = [requester receiveDataWithFlags:];
NSString *text = [[NSString alloc] initWithData:reply encoding:NSUTF8StringEncoding];
NSLog(@"Received reply %d: %@", request_nbr, text);
}
}
[ctx closeSockets];
[ctx terminate];
7.服务器端
#import “ZMQObjC.h"
ZMQContext *ctx = [[ZMQContext alloc] initWithIOThreads:];
NSString *endpoint = @"tcp://*:5555";
ZMQSocket *responder = [ctx socketWithType:ZMQ_REP];
BOOL didBind = [responder bindToEndpoint:endpoint];
if (!didBind) {
NSLog(@"*** Failed to bind to endpoint [%@].", endpoint);
return EXIT_FAILURE;
}
while () {
@autoreleasepool {
// Wait for next request from client
NSData *data = [responder receiveDataWithFlags:];
//NSData *data = [responder receiveWithBuffer:<#(void *)#> length:<#(size_t)#> flags:<#(ZMQMessageReceiveFlags)#>]
NSString *text = [[NSString alloc]
initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Received request: %@", text);
// Do some 'work'
NSLog(@"do some work");
sleep ();
// Send reply back to client
NSString *world = @"World";
NSData *reply = [world dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
BOOL ok = [responder sendData:reply withFlags:];
if (!ok) {
NSLog(@"failed to reply");
}
}
}
[ctx terminate];
zmq-ios framwork的更多相关文章
- iOS -- CocoaPods
CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 GitHub( https://github.com/CocoaP ...
- IOS 整体架构 和 MVC布局
IOS的生态系统 IOS生态系统不仅仅是指产品,更重要的是指 iPhone/iPad/iPod/Mac +iCloud+App整个系统,包括Siri (部分设备不支持).FaceTime.Safari ...
- ios中的http:get,post,同步,异步
一.服务端 1.主要结构:
- ios 开发中 动态库 与静态库的区别
使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...
- iOS Orientation bug
Every September means pain for iOS developers- you need to make sure your old apps/code run on the n ...
- 之前总结的今天给大分享一下iOS
退回输入键盘 苹果 ios 开发一年的工作笔记 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponde ...
- ios框架
iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统. 1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源 ...
- class-dump获取iOS私有api
转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http ...
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
随机推荐
- STAR-H1208M集线器不支持同时挂载多个nfs
今天在两个触摸屏上都加入了开机加载nfs的操作. 没想到会出现以下错误: pmap_getmaps.c: rpc problem: RPC: Unable to receive; errno = Co ...
- JAVA设计模式 之 观察者模式
简介: 观察者模式是JDK中最多的设计模式之一,非常有用,观察者模式介绍了一对多的依赖关系及松耦合,有了观察者,你将会消息灵通. 认识观察者模式,看一个报纸.杂志订阅是怎么回事: (1). 报社的业务 ...
- HDU 5120 A Curious Matt(2014北京赛区现场赛A题 简单模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5112 解题报告:扫一遍 #include<cstdio> #include<cstr ...
- Spring的scope="prototype"属性
spring 默认scope 是单例模式这样只会创建一个Action对象每次访问都是同一个Action对象,数据不安全struts2 是要求 每次次访问 都对应不同的Actionscope=" ...
- mysql 数据库字符集的指定
create database mydb default character set utf8 default collate utf8_general_ci;
- Android俄罗斯方块AI设计文档
首先上源码: https://github.com/bingghost/SimpleTetris 一.概要 使用了2种AI算法: 一种是经典的Pierre Dellacherie算法 一种基于基于深度 ...
- rabbitmq使用
1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码. 相应的命令 (1) 新增一个用户 rabbitmqctl add_user Username Password (2 ...
- freemodbus-v1.5.0 源码分析
注:转载请注明出处 http://www.cnblogs.com/wujing-hubei/p/5935142.html FreeModbus协议栈作为从机,等待主机传送的数据,当从机接收到一帧完 ...
- POJ 1693
题意:就是给你n条直线,求这n条直线最多可以构成多少个矩形. 思路:把直线分类,分成水平的和竖直的,然后两两组合,看是否能构成矩形.枚举 Memory: 692K Time: 0MS Language ...
- spinlock原理
[参考] http://www.searchtb.com/2011/06/spinlock%E5%89%96%E6%9E%90%E4%B8%8E%E6%94%B9%E8%BF%9B.html