Smack是一个开源,易于使用的XMPP(jabber)客户端类库.优点:简单的,功能强大,给用户发送信息只需三行代码便可完成.缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大.OpenFire是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器. Openfire安装和使用都非常简单,并利用Web进行管理.单台服务器可支持上万并发用户.1.首先到网址 http://www.igniterealtime.org 下载OpenFire服务器和S…
学习过程中大家都碰到过连接被断开的问题给困扰吧,下面教大家如何做到连接断开后,重新连接 首先要创建连接监听器,用来监听连接状态,这里我写了一个类 继承了ConnectionListener,重写了里面5个方法,最重要的两个方法connectionClosed()和connectionClosedOnError() 前者为连接正常断开,后者是连接异常断开,不管是正常还是异常,我们都要监听到 这里写了一个定时器,两秒进行连接一次,注释写的也很清楚,不做太多介绍 要注意的是我把用户名和密码都存到sha…
Android基于XMPP Smack openfire 开发的聊天室(一)[会议服务.聊天室列表.加入] http://blog.csdn.net/lnb333666/article/details/7476177 Android基于XMPP Smack openfire 开发的聊天室(二) [聊天信息.成员] http://blog.csdn.net/lnb333666/article/details/7476376…
倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码 本次测试需要环境: VS2013,TwinCAT3(本人版本TC31-Full-Setup.3.1.4018.16) 代码:C#代码,PLC程序代码,C++代码(官方提供)  测试部分:  测试包含:bool类型,int类型,long类型,real类型,lreal类型,string类型,数组,以及结构体 部分测试(这里没有结构体嵌套) PLC程序Main程序 基本类型部分 代码: PROGRAM MAIN VAR B…
写在前面: 之前有专门讲过一期如何搭建西门子PLC的S7通信仿真环境,感兴趣的可以点击查看:戳↓ 1.基于TIA搭建西门子PLC仿真环境及通信方案-联合出品 2.手把手教你搭建西门子PLC仿真环境 那种方式是基于TIA + PLCSIM +NetToPLCSIM实现功能,涉及到的软件有点多,而且只能模拟S7通信,对于其他的通信,就不适用了.那么,有没有一种方式,可以用最少的软件,仿真出最多的通信呢?答案是有的,今天来给大家分享一个软件及其使用方法,即S7-PLCSIM Advanced,S7-P…
首发:个人博客 必须说明:smack最新的4.1.1,相对之前版本变化很大,而且资料缺乏,官方文档也不好,所以还是用老版本3.2.2吧.这篇博文中的代码是4.1.1版的,但不推荐用它.用openfire做服务器,用spark做帮助调试的客户端,用smack(官方文档在这里,感觉写得非常不好)做java的库,来完成即时通讯功能. 1.安装openfire在官网下载安装即可. 2.安装spark在官网下载安装即可. 3.maven引入smack <dependency>              …
不管学习什么都应该总结 这里我把关于Xmpp的一些方法整理到一个工具类中了 我就分享给大家 XmppConnection.java package com.techrare.utils; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream;…
http://blog.csdn.net/h7870181/article/details/8653865 以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了.后来在网上看到用openfire做服务器,利用强大的Smack API库来实现IM聊天就简单多了. 网上也有很多关于这方面的资料,我就在这里把网上的资料和自己的理解总结一下和大家一起交流学习. 需要用到以下几个工具: Openfire  最新版本(…
数据通信 概述: netty的ReadTimeOut实现方案3 服务端: public class Server { public static void main(String[] args) throws Exception{ EventLoopGroup pGroup = new NioEventLoopGroup(); EventLoopGroup cGroup = new NioEventLoopGroup(); ServerBootstrap b = new ServerBootst…
之前的项目也曾用过JgGrid对它的基本功能也是略有了解,网上有个国外的开源的项目,但是不适合个人的风格,所以花了3天空余的时间封装了下JqGrid,也算是参加开发工作10个月以来写的第一个比较完整的小例子,高手们就直接飘过不用看了,但是由于时间短,还有很多的不足,需要后期再完善. 整体思路就是一个配置类,同时兼容了链式编程的风格,所有的动作接口都以Set开头,便于识别.记录下来以后做个人的使用手册. 源码地址:https://github.com/halower/JqGridForMvc/ 推…