网络通信编程
tianzeyong
这个作者很懒,什么都没留下…
展开
-
IM即时通讯实现原理
即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。前者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。而后者是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。QQ就是使用U转载 2014-02-20 09:41:50 · 607 阅读 · 1 评论 -
Socket编程基础知识
端口号常识: 端口号被从1 开始分配。 通常端口号超出255 的部分被本地主机保留为私有用途。 1到255 之间的号码被用于远程应用程序所请求的进程和网络服务。 每个网络通信循环地进出主计算机的TCP 应用层。它被两个所连接的号码唯一地识别。这两个号码合起来叫做套接字. 组成套接字的这两个号码就是机器的IP 地址和TCP 软件所使用的端口号转载 2014-02-20 09:46:06 · 642 阅读 · 0 评论 -
IM服务器的架构
一、 总的构架结构示意图: 如上图所示,目前系统总的分成六个模块,分别为网络/协议解析模块,用户帐号管理模块,消息处理模块,动作处理模块,数据均衡处理模块,客户状态处理模块。正常流程应该这么实现,以一个或者几个线程运行网络/协议解析模块,然后他根据具体的包类型分发给具体的命令处理模块,每个具体的命令处理模块至少应该分别运行于不同的线程。从上面的结构图可以看出,其中客户状态模块和转载 2014-02-20 09:44:03 · 445 阅读 · 0 评论 -
基础知识之 TCP/IP, HTTP, Socket
1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包转载 2014-02-20 09:47:55 · 447 阅读 · 0 评论 -
HTTP协议头详解
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP 协议的详细内容请参 考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户 信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错转载 2014-02-20 09:41:05 · 454 阅读 · 0 评论 -
基于AJAX的长轮询(long-polling)方式实现简单的聊天室程序
(转http://blog.csdn.net/neusoftware_20063500/archive/2009/04/30/4140903.aspx) 这里只是做个测试,很简单,没有做好线程同步的问题,只是为了长轮询。原理:可以看:http://yiminghe.javaeye.com/blog/294781AJAX 的出现使得 JavaScript 可以调用 XMLHttp转载 2015-05-17 22:45:52 · 1283 阅读 · 0 评论 -
Web 通信 之 长连接、长轮询(long polling)
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。一、什么是长连接、长轮询?用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。二、长连接、长轮询转载 2015-05-17 22:30:00 · 471 阅读 · 0 评论