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 ...
随机推荐
- maven之window安装
1.下载:apache-maven-3.3.9-bin.zip 2.解压下载的maven文件到任意指定文件夹 3.配置maven 右键“我的电脑” -> "属性" 在打开的属 ...
- PYTHONPATH 可以跨版本 方便使用 (本文为windows方法)转~
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找. 使用下面的代码可以打印PYTHONPATH: print(os.sys.path) 我的某个 ...
- CentOS 6.5 zabbix 3.0.4 SendEmail报警
官方介绍:http://caspian.dotconf.net/menu/Software/SendEmail/ 1.sendEmail部署 下载安装包到本地.解压 [root@localhost S ...
- FineUI第十七天---- 表格之扩展列
{ sb.AppendFormat(]); 1.通过表格的SelectedRowIndexArray获得选中行的索引号列表: 2.通过表格的DataKeys(二维数组)获取本行的数据 ...
- Java(Android)线程池
1.new Thread的弊端执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() ...
- maven引入jar包时,一个jar的引入错误,会导致后来的jar包的引入。
maven引入本jar包时,引入失败. 问题是另一个jar没有引入正确.
- C++输入输出流
一.C++输入输出流的含义 以前所用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.程序的输入指的 ...
- python __file__ 与相对路径
用__file__ 来获得脚本所在的路径是比较方便的,但这可能得到的是一个相对路径,比如在脚本test.py中写入: #!/usr/bin/env pythonprint __file__ 按相对路径 ...
- (原创)在service中定时执行网络操作的几点说明
执行网络操作是耗时操作,即便是在service中也要放到子线程中执行 这里我用到了async-http-client框架来执行异步请求操作 计时用的java原生Timer和TimerTask类 本来这 ...
- linux kernel 杂谈
首先介绍一下背景吧,工作三个星期了.复习了一波u-boot,跟了一下事件上报,搞了下平台设备,扣了一个内存检查代码. 想想生活是不是有点无聊.对啊,真的很无聊!!!! 无聊也没有办法啊,所以找点方法去 ...