- 浏览: 659903 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lizaochengwen:
网络请求碰到的中文乱码使用encodeURL吧- (NSStr ...
iPhone开发/iPad开发 中文乱码问题 -
hhb19900618:
还是没弄懂怎么解决了中文乱码? 正确代码能重写贴出吗
iPhone开发/iPad开发 中文乱码问题 -
zhengjj_2009:
我的理解是讲ipa文件解压缩之后再重新打包,已经破坏了签名,所 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
zhengjj_2009:
我参考你的“ 从ipa格式的母包生成其它渠道包的shell脚本 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
同一片天空:
问题果然解决了
iOS 搭建 XMPP实现环境
以前用的 javapns-jdk15-165.jar 不支持多线程。后来在网上找到新的一个jar,可以支持多线程发送,与大家分享一下,不知道写的对不对,不对的话请指出,多谢。
将消息以多线程方式推送到iPhone服务器,不知道写的对不对,我在本地上测试是没有问题的,如有疑问请留言。
以下项目所用的jar包:
JavaPNS_2.1.jar
bcprov-jdk16-145-1.jar
log4j-1.2.15.jar
只记得这几个jar,如果不对,请留言我在看一下,多谢指正
JavaPNS_2.1.jar 地址
http://code.google.com/p/javapns/
JavaPNS_2.1.jar (141.3 KB)
下载次数: 1988
log4j-1.2.15.jar (382.7 KB)
下载次数: 3100
bcprov-jdk15-146.jar (1.7 MB)
下载次数: 3211
将消息以多线程方式推送到iPhone服务器,不知道写的对不对,我在本地上测试是没有问题的,如有疑问请留言。
以下项目所用的jar包:
JavaPNS_2.1.jar
bcprov-jdk16-145-1.jar
log4j-1.2.15.jar
只记得这几个jar,如果不对,请留言我在看一下,多谢指正
JavaPNS_2.1.jar 地址
http://code.google.com/p/javapns/
public static void main(String[] args){ String keystore = "D:/XXXXXXXX/XXX.p12";//证书路径和证书名 String password = "XXXXXXXX"; // 证书密码 String token = "XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX";// 手机唯一标识 boolean production = true; // 设置true为正式服务地址,false为开发者地址 int threadThreads = 10; // 线程数 try { // 建立与Apple服务器连接 AppleNotificationServer server = new AppleNotificationServerBasicImpl(keystore, password, production ); List<PayloadPerDevice> list = new ArrayList<PayloadPerDevice>(); PushNotificationPayload payload = new PushNotificationPayload(); payload.addAlert("推送内容"); payload.addSound("default");// 声音 payload.addBadge(1);//图标小红圈的数值 payload.addCustomDictionary("url","www.baidu.com");// 添加字典 PayloadPerDevice pay = new PayloadPerDevice(payload,token);// 将要推送的消息和手机唯一标识绑定 list.add(pay); NotificationThreads work = new NotificationThreads(server,list,threadThreads);// work.setListener(DEBUGGING_PROGRESS_LISTENER);// 对线程的监听,一定要加上这个监听 work.start(); // 启动线程 work.waitForAllThreads();// 等待所有线程启动完成 } catch (Exception e) { e.printStackTrace(); } }
// 线程监听 public static final NotificationProgressListener DEBUGGING_PROGRESS_LISTENER = new NotificationProgressListener() { public void eventThreadStarted(NotificationThread notificationThread) { System.out.println(" [EVENT]: thread #" + notificationThread.getThreadNumber() + " started with " + " devices beginning at message id #" + notificationThread.getFirstMessageIdentifier()); } public void eventThreadFinished(NotificationThread thread) { System.out.println(" [EVENT]: thread #" + thread.getThreadNumber() + " finished: pushed messages #" + thread.getFirstMessageIdentifier() + " to " + thread.getLastMessageIdentifier() + " toward "+ " devices"); } public void eventConnectionRestarted(NotificationThread thread) { System.out.println(" [EVENT]: connection restarted in thread #" + thread.getThreadNumber() + " because it reached " + thread.getMaxNotificationsPerConnection() + " notifications per connection"); } public void eventAllThreadsStarted(NotificationThreads notificationThreads) { System.out.println(" [EVENT]: all threads started: " + notificationThreads.getThreads().size()); } public void eventAllThreadsFinished(NotificationThreads notificationThreads) { System.out.println(" [EVENT]: all threads finished: " + notificationThreads.getThreads().size()); } public void eventCriticalException(NotificationThread notificationThread, Exception exception) { System.out.println(" [EVENT]: critical exception occurred: " + exception); } };
JavaPNS_2.1.jar (141.3 KB)
下载次数: 1988
log4j-1.2.15.jar (382.7 KB)
下载次数: 3100
bcprov-jdk15-146.jar (1.7 MB)
下载次数: 3211
发表评论
-
SOCK_STREAM和SOCK_DGRAM
2015-07-23 20:08 1640sock_stream 是有保障的(即能保证数据正确传送到 ... -
SOCKET bind INADDR_LOOPBACK和INADDR_ANY的区别
2015-07-23 19:49 2057今天写程序时候,服务器端启动了,然后客户端总是连接不上,con ... -
htons()
2015-07-23 19:26 580在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺 ... -
使用symbolicatecrash分析crash文件
2015-03-10 11:32 1179原文 http://www.cnblogs.com/ning ... -
程序设计中的计算复用(Computational Reuse)
2015-02-10 10:18 664从斐波那契数列说起 ... -
didReceiveMemoryWarning
2015-02-09 16:11 541IPhone下每个app可用的内存是被限制的,如果一个app使 ... -
iOS开发中怎么响应内存警告
2015-02-09 16:08 654好的应用应该在系统内存警告情况下释放一些可以重新创建的资源。在 ... -
ASIHTTPRequest多次重复请求的问题
2014-12-17 14:34 641在一个车票订购的项目中,点击一次订购,却生成了2次订单,通过抓 ... -
从 CloudKit 看 BaaS 服务的趋势
2014-09-26 11:51 726从 6 月份 WWDC 苹果发布 ... -
ios编程--AVCapture编程理解
2014-09-26 11:03 9230、媒体采集的几个东西。这里所需要明白的是,在这个流程中,这里 ... -
NSURLProtocol
2014-09-25 10:42 8191、http://nshipster.com/nsurlpro ... -
关于iOS8的extension插件
2014-09-25 10:41 1279关于iOS8的extension插件,有兴趣的同学可以参考一下 ... -
【转】ios app在itunesConnect里面的几种状态
2014-08-05 10:34 1145Waiting for Upload (Yellow) Ap ... -
[转]iOS Dev (45) iOS图标与切片处理工具Prepo
2014-02-07 17:02 1034iOS Dev (45) iOS图标与切片处理工具Prepo ... -
phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发
2014-01-13 17:49 1245前沿 废话不说phoneGap是什么不多介绍,官方网站: h ... -
如何在IOS平台下搭建PhoneGap开发环境(PhoneGap2.5)
2014-01-13 15:23 748由于在下最近在做基于HTML5的跨平台移植,搭建环境的时候着实 ... -
xcode 4 制作静态库详解
2013-12-20 18:27 533最近在做Apple的IOS开发,有开发静态库的需求,本身IOS ... -
【翻译】ios教程-创建静态库
2013-12-20 18:19 3108作者:shede333 主页:htt ... -
封装自己的控件库:iPhone静态库的应用
2013-12-20 17:03 582由于iPhone 控件的极度匮乏和自定义组件在重用上的限制,在 ... -
iphone:使用NSFileManager取得目录下所有文件(遍历所有文件)
2013-11-18 17:56 870From:http://note.sdo.com/u/xiao ...
相关推荐
在iOS应用开发中,苹果推送服务(Apple Push Notification service,简称APNs)是苹果公司提供的一项功能,允许开发者向已安装其应用的用户发送实时通知。为了提高推送效率和响应速度,多线程技术常常被引入到APNs的...
- JavaPNS_2.2.jar考虑到了高并发场景,提供了多线程支持,可以高效地处理大量设备的推送需求。 - 通过合理的线程管理和连接池,可以有效地减少延迟并提高推送效率。 5. **异常处理与日志记录**: - 包含完善的...
易语言多线程支持库2.1是一款专为易语言设计的库文件,它提供了在易语言编程环境中实现多线程功能的能力。多线程是现代计算机程序设计中一个重要的概念,它允许程序同时执行多个任务,提高了程序的运行效率和响应性...
9. **多线程与并发**:对于大规模推送场景,JavaPNS可能需要利用多线程或异步处理来并发处理多个推送任务,提高整体性能。 10. **日志记录**:为了便于调试和监控,JavaPNS提供了日志功能,可以记录推送过程中的...
它丰富的类库和强大的社区支持使得开发者能够快速构建复杂的业务逻辑,同时,Java的内存管理和多线程机制也使得处理高并发推送任务成为可能。 2. **实时消息推送原理** 实时消息推送通常采用HTTP长轮询、WebSocket...
用C#实现的、基于.NET 2.0的可扩展多线程异步Socket服务器框架EMTASS 2.1源码和Demo。有关该框架的设计说明请参考拙文:http://blog.csdn.net/hulihui/archive/2008/10/27/3158613.aspx
5. **多线程处理**:为了提高性能,JavaPNS通常在多个线程中同时发送推送通知。这样可以显著减少大量推送时的延迟。 6. **持久化策略**:JavaPNS可以配置为持久化推送请求,以防止在网络中断或其他异常情况下丢失...
《Delphi线程控件BMDThread2.1:实现高效多线程编程》 在软件开发中,多线程技术是提升程序性能和用户体验的关键技术之一。在Delphi环境中,BMDThread控件提供了强大的支持,使得开发者能够轻松地在D5到XE10.3版本...
`javapns.jar`是一个早期的项目,它提供了基本的APNs推送功能,而`javaapns.jar`强调了多线程支持,使得可以同时处理多个推送请求,提高推送效率。使用这些库时,开发者需要配置证书路径,创建推送消息对象,并调用...
本方案聚焦于五个核心领域:定时任务、缓存、极光消息推送、多线程处理以及单表查询优化,旨在提升系统的整体性能。 1. **定时任务**:定时任务在电商系统中广泛应用于促销活动的触发、数据统计、用户行为分析等多...
在.NET开发环境中,"Server Push"技术是一种允许服务器主动向...通过深入分析和理解这些源码,开发者不仅可以学习到如何在.NET环境中实现Server Push,还可以了解到网络通信、多线程编程、异步处理等多个方面的知识。
Fleck.dll支持websocket引自博客文章多线程下的websocket实时通信,具体使用方式请看文章多线程下的websocket实时通信,包括具体的服务器端跟客户端编码。
- **性能优化**:保持长连接以减少每次推送时的连接建立时间,同时,可以使用多线程或异步处理来并发发送推送,提高推送速度。 - **反馈服务**:APNs提供了反馈服务,可以获取到不再接收推送的设备Token,及时清理...
总的来说,实现Android新闻消息推送涉及到服务、广播接收器、线程、通知等多个组件的协调工作。根据实际需求,可以选择自建服务或利用第三方推送平台,两者都有其优缺点,开发者需根据项目规模和技术能力做出合适的...
这涉及到iOS的多任务处理和推送服务(例如JGPush)的集成。 首先,让我们深入理解iOS的后台运行模式。iOS设备支持三种主要的后台模式:声音播放、位置更新和后台刷新。对于游戏应用,尤其是COCOS2DX游戏,通常会...
推送服务(Push Notification)通过改变这一模式,即服务器主动向客户端发送信息,而不需要用户主动发起请求,从而提高了消息推送的实时性和用户体验。此外,推送服务通常需要与客户端保持一个长连接,以便在需要时...
里面有详细的注释说明,主要实现DWR推送、线程监听、事件监听、主动推送。。写得不好,请见谅。。然后有个特别需要注意的,部署好项目以后,访问的方式是:http://localhost:9999/MonitorSystem/indexTo,特别注意...
6. **优化推送性能**:为了提高推送效率,可以采用多线程或异步处理,避免阻塞主线程。同时,合理设置推送消息的优先级,避免不必要的资源消耗。 7. **测试与监控**:在实际部署前,应进行充分的测试,确保各种情况...
在编程领域,多线程是实现并发执行任务的重要机制,特别是在现代计算机系统中,多核处理器使得多线程成为提高程序性能的关键手段。C#语言提供了丰富的多线程支持,让我们能够编写出高效的多线程应用程序。在这个"多...
多线程技术是现代软件开发中的重要概念,它允许程序同时执行多个任务,从而提高效率和响应性。VB6虽然相对老旧,但其支持的多线程功能依然具有实用性,尤其是在处理耗时操作或需要并发执行任务的应用场景。 VB6中的...