- 浏览: 181569 次
- 性别:
- 来自: 长沙
最新评论
-
di1984HIT:
学习了
2.一步一步实现简单服务器 -
di1984HIT:
好老,学习了~
使用jFreeChart实现web实时设备状态的图形化监控之三:使用jPcap抓取网络数据包小试 -
wuhongyu:
视频打不开啊,可否发到邮箱里(1985why001@163.c ...
完成java版cmpp短信网关开讲解发计划,坚持下去! -
我就是CT:
...
学习思考,自我塑造 -
我就是CT:
放宽学习的眼界--3.意志
文章列表
这个项目是仿Twitter实现,但增加了桌面客户端,即以web+桌面IM形式组合。是《微博是这样炼成的:从聊天室到Twitter的实现》一书中的随书项目。
由于web端布署ISP提供的空间上,不支持另开端口的Socket长连结,桌面与web服务器的通信采用基于Hessian远程调用的轮询方式。
先上图:桌面客户端登陆界面和登陆成功后的主界面:
客户端私聊小窗口和功能设置界面:
web主页面:
web端个人主页面:
下载附件中包含:服务器端,桌面端源代码,数据库脚本和桌面端可运行程序。
有兴趣 ...
这些协议文档\源码是《微博是这样炼成的:从聊天室到twitter的实现》一书中移动短信网关开发一节的参考资料.
1.下载中有电信smgp,移动cmpp网关,和smpp通信的协议文档;
2.下载中有电信接口SP端短信网关实现源码,此代码曾实际商用.其中电信协议中的TLV格式有点特别. 较有参考意义.
3.移动cmpp3.0服务器端和client端模拟实现源码以前发过,请见陈挺童靴以前的blog下载:http://csuct.iteye.com/blog/420207
一个建议是,这些资料的行业专门性较强,新手\没机 ...
前几个版本的山寨QQ没有实现视频通信,且服务器端结构设计不合理.这个版本的:
1.实现的java视频聊天;
2.集成了Mina框架;
3.服务器管理模块通过XStream配置成插件模式.
4.把界面整得更炫了些.
5.万把行代码吧,下载中有:)
客户端登陆界面:
聊天主界面:
视频聊天ing: 服务器启动ing闪屏效果:
服务器管理主界面
下载中为客户端源码,服务器端源码,和共用的第三方库.
具体开发参见《微博是这样炼成的:从聊天 ...
单独讨论技术本身,和分析技术实现的驱动理念及其所带来的应用价值是二码事,在此讨论的是"twitter是什么".
(1)IM软件的基本功能
使用IM软件,例如QQ时,所提供最有价值的功能是什么?能不 ...
我的新书《微博是这样炼成的:从聊天室到Twitter的实现》己由人民邮电出版社出版,上市发行。先上封面图: 本书特点简介:
(1)项目驱动 本书的技术点专注于网络通信、安全加密和项目设计构架3方面。讲解的技术 ...
下载中的项目源码系《微博是这样炼成的:从聊天室到Twitter的技术实现》一书中山寨QQ项目源码和文档:
第2章 JavaKe:典型IM系统的实现 702.1 大话通信协议 702.1.1 理解通信协议的概念 702.1.2 定义文件传输协议并实现 712.1.3 实现文本/文件传送服务器 732.1.4 实现文本/文件传送客户端 762.2 JavaKe通信协议分析 782.2.1 通信消息流程 782.2.2 通信数据格式协议 812.2.3 具体消息体结构定义 822.3 关键技术点分析 852.3.1 打包解包的概念分析 852.3.2 重构打包解包代码 862.3.3 应用监听 ...
1.设定服务器顺循环等待:
服务器不能只连接一个客户机就退出——你可以将ServerSocket的accept()方法放在一个循环中调用:进行一个客户机,当服务器与这个客户机通信完毕后,服务器就再次进入循环中,重新调用accept()方法等待下一客户机连接进入,代码示例如下:
while(true){
Socket client=server.accept();//让服务器在while中等待:阻塞状态
//从连接对象上得到
在这一段,我们的目地是创建一个简单服务器,能将客户机发来的字符串显示出来,并且再回送给客户机——有必要解释一下:在这里,服务器指的是等待别人来连接的机器;客户机,当然就指的是主动去连接别人的机器了,这就像打电话过程中的主叫与被叫的区分一样,一旦连结成功,就不存在这样谁是客户机谁是服务器的区分了。
Java中编写网络通信程序,必须用到java.net包下面的API。创建一个服务器,相当简单。
第一步:在指定端口上创建一个java.net.ServerSocket对象,如下代码:
ServerSocket server=new ServerSocket(9090);
...
得用QQ作为网络通信技术的代言人,它对我们都是再熟悉不过的即时通信工具。
在QQ消息框中输入一段文字按下发送键后,这段文字就会出现在另一台电脑上你朋友的QQ中——我们就这里开始,分析这个过程这是如何实现的。如图1.1所示: 图1.1 网络信息发送与接收
开始之前,你至少应该知道,每台机器都有一个IP地址,以便另外一台机器可以在网络上找到它,IP地址在网络中标识了一台机器。但是,当A机器与B机器通信时,其实是这两台机器上的程序在通信。A机器上的QQ_A如想与B机器的上QQ_B通信时,它还必须知道这个QQ_B在B机器的哪个“端口”上等待;就像你到别人家做客,只 ...
线程\网络通信\大流(容)量数据处理\结构设计是开发中比较重要的核心技术,这块程序员能掌握最好;完整实现中移动的CMPP协议的ISMG网关和SP客户端会是一个代表性案例.便决定边讲解边编码边录成视频,一开工,发现困难重重.... 贴出计划,月底完成,督促自己;希望和大家交流重要技术点的实现策略. 蓝杰java CMPP(SP/IMSG)端实现计划: 相关协议文档:cmpp/smpp: 1课完成:移动增值/3G业务分析说明 分析行业知识,说明移动增值业务,理解何谓移动增值服务; 业务类型说明:sms/mms/wap/OTA/IVR/M ...
先上几张图吧:
启动时:
聊天中:
第一版:客户端以事件模型实现UI与通信分离;服务器端使用阻塞IO+对象数据库;
第二版:服务器端使用Mina框架NIO模型+缓冲队列+异步多线程消息处理提高消息收发性能;
自定定原始字节通信协议,实现QQ基本消息格式(登陆,加好友,文件传送....)
用户Q号和密码md5传送;聊天消息以用登陆后收到服务器发来的key以des加密.
项目组长胡海亮(QQ:249782944)
通信协议定义的文档见附件:
不好意思,以前传的太乱了.整理了个文件做为附件.主要是:
一:说明 1
二、实践:传送字符串的简单c/s 1
三、总结: 6
四、使用Mina直接传送对象: 8
五、结论:
具体当然在附件中.
1.为什么要AJAX(RIA)? 这个理由太多了,我仅从系统结构模型分析下,以2000年为分水岭吧,2K年后火起的是B/s结构,相比较与c/s结构的优劣,列表如下: B/SC/S缺点优点优点缺点
jf的教程己是满天飞,我就不多废话了---如果你想用又不想看那些看不懂的文档,就霸王硬上弓吧,我觉这样还快些: 1.下面这段代码,是用以生成bar、pie、温度计、仪表盘等以及我称不上名字的一些图表; 2.附件中有一个war包,直接布到webapps下,自己看效果; 3.附件中的源码包是整个ec中的项目,你自己玩弄--如果不知道jf在哪里下,里面也有了。 java代码,一个输出图片的Servlet的生成模拟数据的工具类:package cn.netjava.jFreeChart;
import java.awt.BasicStroke;
import java.awt.Color;
impo ...
1.异步收发消息模式:
异步消息模式是指,一条消息发送后,不需要得到服务器的应答,可以继续发送另外一条消息;在未得到最近一次应答消息的回应后,再可以继续发送消息的条数,叫做滑动窗口的大小。
ISMG网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建议为16,即接收方在应答前一次收到的消息最多不超过16条。
注意,这里的应答消息仅是在cmpp通讯中,sp网关和ismg间,为了确认消息被对方接收到而己;与用户收发的消息内 ...