1.附件见zeromq-ios.framework百度网盘/iOS/zmq

2.zeromq-ios.framework解压拖进工程文件
3.objc-zmq见百度网盘/iOS/zmq
4.objc-zmq.zip解压拖进工程文件
5.other link flags -lstdc++
6.客户端
#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的更多相关文章

  1. iOS -- CocoaPods

    CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 GitHub( https://github.com/CocoaP ...

  2. IOS 整体架构 和 MVC布局

    IOS的生态系统 IOS生态系统不仅仅是指产品,更重要的是指 iPhone/iPad/iPod/Mac +iCloud+App整个系统,包括Siri (部分设备不支持).FaceTime.Safari ...

  3. ios中的http:get,post,同步,异步

    一.服务端 1.主要结构:

  4. ios 开发中 动态库 与静态库的区别

    使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...

  5. iOS Orientation bug

    Every September means pain for iOS developers- you need to make sure your old apps/code run on the n ...

  6. 之前总结的今天给大分享一下iOS

    退回输入键盘 苹果 ios 开发一年的工作笔记 - (BOOL) textFieldShouldReturn:(id)textField{ [textField resignFirstResponde ...

  7. ios框架

    iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统.        1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源 ...

  8. class-dump获取iOS私有api

    转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http ...

  9. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

随机推荐

  1. hash-1.hash表和hash算法

    1.hash表 哈希表,也叫散列表,是根据关键码(Key)而直接访问的数据结构,也就是它把Key映射到表中一个位置来访问记录,即,把key计算成hashcode,把hashcode存到表中.这个把ke ...

  2. js中的json

    1.什么是JSON? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 2.JSON语法是JavaScr ...

  3. sass兼容IE8透明度方法

    你可以轻松的利用 {Sass::Script::Functions#ie_hex_str ie_hex_str} 函数对其做转换.$translucent-red: rgba(, , , 0.5); ...

  4. Hibernate get和load区别

    1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null   2.从检索执行机制上对比: ...

  5. tomcat JNDI 设置

    一.在Spring配置文件中的配置   <bean id="dataSource" class="org.springframework.jndi.JndiObje ...

  6. Leonbao:MapKit学习笔记

    以下仅作了解, 实际使用以百度地图居多, 因为百度地图有动态路径规划等接口 MapKit学习笔记    原帖: http://www.cocoachina.com/bbs/read.php?tid-6 ...

  7. OOP复习笔记

    /*OOP相关的代名词不做讲解*/ OOP的三大特征: 封装 - 继承 - 多态 -----------------------------------目录---------------------- ...

  8. BZOJ 3827: [Poi2014]Around the world

    Sol 并查集. 一个点所能到达的最远是单调不降的.然后将链延长到两倍,预处理出每个点到达的最远点,然后倒着计算深度. 再然后一直跳,跳到>=x+n的点,因为跳到的点都能到最终的点,并且不影响后 ...

  9. Selenium Webdriver元素定位的常用方式

    单选框.复选框.文本框和密码框的元素标签都是input,此时单靠tagName无法准确地得到我们想要的元素,需要结合type属性才能过滤出我们要的元素.示例代码如下: public class Sea ...

  10. 查找问题的利器 - Git Blame

    原文: http://gitbook.liuhui998.com/5_5.html  如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [ ...