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 ...
随机推荐
- ecshop之transport和jquery冲突之完美解决方案
众所周知:ecshop的transport.js文件和Jquery是冲突的,两个文件不能同时调用,现给出以下完美解决方案:原因分析:在transport.js文件中,大概 580行到590行之间,这个 ...
- 京东云、新浪微博等专家畅谈Docker未来格局:开放与竞争(下)
在上次推送的文章中(传送门),田琪老师分享了他的DockerCon 2015峰会见闻.在“QCon高可用架构群”中,田老师分享之后,几位专家也参与了讨论.他们是: 闫国旗:京东资深架构师,京东架构技术 ...
- [codevs1154][COJ0177][NOIP2006]能量项链
[codevs1154][COJ0177][NOIP2006]能量项链 试题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这 ...
- BZOJ 1355: [Baltic2009]Radio Transmission
Description 一个字符串最短周期. Sol KMP. 最短周期就是 \(n-next[n]\) 证明: 当该字符串不存在周期的时候 \(next[n]=0\) 成立. 当存在周期的时候 \( ...
- jsoup解析HTML
Connection conn = Jsoup.connect(String url); conn.data("txtBill", key);// 设置关键字查询字段 Docume ...
- python操作memcached以及分布式
memcached 是以 LiveJournal 旗下 Danga Interactive 公司的 Brad Fitzpatric 为首开发的一款软件.现在已成为 mixi.Facebook.Live ...
- centos 安装gcc时,出错:Found 10 pre-existing rpmdb problem(s), 'yum check' output follows:
别人折腾的系统. 刚开始,准备安装下tornado,报错,需要安装 gcc 和 python-devel gcc安装报错,如标题所示: 谷歌了一把: http://stackoverflow.com/ ...
- java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition
解决办法: 原先:<bean id="sessionFactory"class="org.springframework.orm.hibernate3.annota ...
- 转:JQuery选择器
选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理 解,它们本身用法就非常简单,我更希望的是它能够提升个人编 ...
- stty命令使用
stty [ -a ] [ -g ] [ Options ] stty(set tty)命令用于显示和修改当前注册的终端的属性. UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过 ...