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,跟了一下事件上报,搞了下平台设备,扣了一个内存检查代码. 想想生活是不是有点无聊.对啊,真的很无聊!!!! 无聊也没有办法啊,所以找点方法去 ... 
