当前位置:文档之家› 即时通讯软件的设计与实现

即时通讯软件的设计与实现

即时通讯软件的设计与实现
即时通讯软件的设计与实现

即时通讯软件的设计与实现

1 系统实现模块

1.1 服务端模块

服务端主要包括三个模块:

1.网络模块,建立TCP服务器,负责监听端口,与客户端建立连接并接受和发送数据。

2.应用模块,负责处理从网络模块接收到的数据,予以分析处理,进行转发或对数据库进行操作,并返回相关信息。

3.数据层,数据层用来与数据库建立连接,应用模块必须通过数据层来进行数据库的操作。

日志记录

图4.1 系统模块图

1.2 客户端模块

用户端包块以下模块:

1.用户界面模块,此模块包括客户端的操作界面,由NetBeans编写的GUI,进行了较多的美化,采用偏向Vista的风格。

2.网络模块,此模块包括两个小模块,TCP模块用于和服务器端通讯,而UDP 模块则负责和客户端进行P2P通讯。

3.聊天模块,此模块负责在用户聊天时候,对聊天的数据进行封装,对聊天的图片也进行压缩,以适用网络传输。在接受到聊天数据之后,又会对聊天数据进行分解操作,最后生成聊天内容。

4.群组模块,此模块包括群组聊天、群组的创建、管理、更新等功能。

5.文件传输模块,此模块用于实现客户端之间的文件传输功能。

6.视频聊天模块,此模块用于实现客户端之间的视频聊天功能。

7.系统设置记录模块,此模块用于实现保存聊天记录,登录日志,以及保存系统设置信息的功能。

系统记录模块

图4.2 客户端模块图

2 数据库设计

2.1用户表设计

用户表是系统中的基础表,主要用来记录用户注册时的各种信息,此表还有一个从表userlogin表用来记录用户登录和状态信息。[12]

Userinfo表

UserLogin表

用户关系表是用来保存用户之间的好友关系的数据表,查询好友列表的时候要从此表中查询与自己ID想关联的好友ID,type字段可以设置两者的关系,其中1为好友关系,0为黑名单。

其他表,如组群表,族群信息表就不在此一一列出。

3 系统模块的详细设计

此章节将叙述系统部分模块的设计方法和具体实现。

3.1 网络模块的设计实现

本系统采用TCP和UDP混合的网络通讯,客户端与服务器之间登录验证时采用TCP连接,登录之后,客户端与服务器采用UDP方式保持通讯,客户端和客户端之间采用UDP连接,如果无法直接连接,通过服务器申请UDP穿透NAT,如果失败,则消息通过服务器中转传递。

因为要在网络通讯中直接传递对象,故采用基于Java NIO的I/O的Cindy异步框架,Cindy是一个Java异步I/O框架,提供了一个统一高效的模型,同时支持TCP、UDP以及Pipe,并能够方便的在异步和同步操作之间进行切换。目前其实现是基于Java NIO,并计划通过JNI来支持各操作系统上本身提供的异步I/O功能,应用可以方便的通过运行期属性来方便的切换到更为高效的实现上。[13] Java NIO包虽然提供了非阻塞I/O模型,但是直接使用NIO的非阻塞I/O需要成熟的网络编程经验,处理众多底层的网络异常,以及维护连接状态,判断连接超时等等。对于关注于其业务逻辑的应用而言,这些复杂性都是不必要的。不同Java版本的NIO实现也会有一些Bug,Cindy会巧妙的绕开这些已知的Bug并完成相应功能。并且NIO本身也在不断发展中,Java 1.4的NIO包中只实现了TCP/UDP 单播/Pipe,Java 5.0中引入的SSLEngine类使得基于非阻塞的流协议(TCP/Pipe)支持SSL/TLS成为可能。使用Cindy,应用可以在同步和异步之间进行无缝切换,对于大部分操作是异步,可某些特殊操作需要同步的应用而言,这极大的提高了易用性。[14]

1.服务器端编码:

SessionAcceptor acceptor ;

acceptor=SessionFactory.createSessionAcceptor(SessionType.TCP); acceptor.setListenPort(port); //设置监听端口 port为端口号

acceptor.setAcceptorHandler(new SessionAcceptorHandlerAdapter());

//设置SessionAcceptorHandler;

SessionAcceptorHandler接口是处理SessionAcceptor产生的各种事件, SessionHandler接口则用于处理Session产生的各种事件。

acceptor.start(); //开始执行,服务器开始监听TCP连接。SessionAcceptorHandlerAdapter类是处理acceptor时间的接口,里面包括了各种方法,我们主要使用到对象接收事件(objectReceived),我们接受到对象以后再对其进行处理。代码如下:

new SessionAcceptorHandlerAdapter(){

public void sessionAccepted(SessionAcceptor acceptor, Session session) throws Exception {

session.setPacketEncoder(new SerialEncoder());

session.setPacketDecoder(new ServerPacketDecoder());

session.setSessionHandler(new SessionHandlerAdapter(){

public void objectReceived(Session session, Object obj){

/****这里可以得到接受到的对象,我们封装成Message类****/

Message message=(Message)obj;

}

}

2.服务端编码

首先先生成一个TCP的Session,然后为session设置远程IP地址,最后通过设置SessionHandlerAdapter()来处理事件。

Session session=SessionFactory.createSession(SessionType.TCP); session.setRemoteAddress(new InetSocketAddress(address,port)); session.setPacketEncoder(new SerialEncoder());

session.setPacketDecoder(new SerialDecoder());

session.setSessionTimeout(0);

session.setSessionHandler(new SessionHandlerAdapter());

3.2 用户登录的具体实现

前面介绍了Cindy的网络框架,现在我们来演示用户登录时候的流程。用户登录请求处理模块是用户通过了验证(验证过程在信息查询服务器上完成),取得了合法登录密钥之后,登录文字通讯服务器的第一步。

用户登录请求处理模块的处理过程是:接收用户登录请求,首先判断其登录密码是否正确(登录密码是用户注册时候输入的口令,服务器收到该请求后,首先查询数据库中此用户ID的密码,然后判断和用户发送的登录密码是否一致)。如密钥不正确则关闭该连接,并发送密码错误的信息。如果密钥正确,则修改该用户在数据库中的IP记录,并从数据库中读取出其所有的好友列表,并将此用户上线的消息发送给其好友,服务器同时将此用户此时此刻登录的情况记录在日志中。

客户端收到密码验证正确的消息之后,会受到服务器发送来的好友列表和详细信息,并通过这个好友列表构建好友信息,完成登录。

在客户端中,我们提供了隐身上线,和保存密码两个选择项,其内容保存在Hitayo.ini文件中。在登录窗口中,可以手动输入服务器的IP地址,并将新的服务器地址保存进服务器选择列表,下次登录时,可以自动选择到上次登录的服务器地址,同时还具备检测服务器是否畅通的功能。

登录窗口界面如下:

图4.3 客户端登录界面

3.3 聊天模块的具体实现

一款即时通讯软件,最基本的功能莫过于即时聊天功能。在本系统中,对聊天信息重新封装(ChatSeria类),使系统的聊天功能支持对文字的字体、大小、粗细、颜色进行设置,还能够在文字中插入图片,并能支持快捷键,用Ctrl + Enter可以发送消息。

图4.4 聊天窗口界面

实现功能的关键在于对聊天信息封装和对文字中图片的定位和还原,以下代码实现了图文混合后对聊天信息的还原:

for(int x=0;x<5;x++){

end=chat.getMessage().indexOf('?');

if(end==0){

//获得光标位置

jp.setCaretPosition(jp.getStyledDocument().getLength());

jp.insertIcon(new ImageIcon(ImageIO.read(new

ByteArrayInputStream(chat.getImage()[x]))));//把图片插入光标位置chat.setMessage(chat.getMessage().substring(++end));

}else{jp.getStyledDocument().insertString(jp.getStyledDocument().getLeng th(), chat.getMessage().substring(begin, end), null);//插入文字

chat.setMessage(chat.getMessage().substring(end));

x--;}

if(chat.getMessage().indexOf('?')==-1){

jp.getStyledDocument().insertString(jp.getStyledDocument().getLength() //插入文字

chat.getMessage().substring(--end), null);

break;

}

}

其原理是通过重写JTextPane的replaceSelection方法,改变了图标的位置标记,然后分别保存文本和图片以及字体属性,发送给接受端,接受端接受到信息以后,首先用以上算法,找到图片的标记,再把光标移动到那个位置,把图片组中的图片插入其中。最多可以插入5张图片,但是经过测试如果图片过大,可能导致发送失败。

3.4 视频模块的具体实现

视频聊天是即时聊天软件发展的一个新的高度,因为IM支持视频聊天是可以必不可少的功能。JAVA实现对摄像头的控制需要通过JMF多媒体框架。

JMF实际上是Java的一个类包。JMF 2.1.1技术提供了先进的媒体处理能力,从而扩展了Java平台的功能。这些功能包括:媒体捕获、压缩、流转、回放,以及对各种主要媒体形式和编码的支持,如M-JPEG、H.263、MP3、RTP/RTSP (实时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。[15]

本模块的设计思路是,通过JMF获得视频的数据流,然后将数据流还原成每一帧的图像,再将图像压缩后转换成字节流采用UDP包发送给接收方,接收方接受到信息后,从字节流中生成图像,再将图像绘制在JPanel上,我们重写JPanel的paintComponent方法,并添加一个方法(UpVoide(Image img))不断刷新JPanel上的图片,这些都在独立的一个线程上操作,这样视频和聊天可以同时进行,经过测试,在网络较通常的情况下能获得比较好的效果。

图4.5 视频聊天窗口界面

JMF获得视频图像的实现代码:

String str = "vfw:Microsoft WDM Image Capture (Win32):0"; CaptureDeviceInfo di = CaptureDeviceManager.getDevice(str); MediaLocator ml = di.getLocator();

dataSource = JMFUtils.createCaptureDataSource(null, null,

str,di.getFormats()[2]);

Player player=Manager.createRealizedPlayer(dataSource);

player.start();

//获得Comopnent可以直接用来播放视频

comp = player.getVisualComponent();FrameGrabbingControl fgc = (FrameGrabbingControl) player.getControl(

"javax.media.control.FrameGrabbingControl");

Buffer buf=fgc.grabFrame();

BufferToImage bufferToImage =new BufferToImage

((VideoFormat)buf.getFormat());

Image img = bufferToImage.createImage(buf);

Img为获得的视频图片,将此帧压缩成JPG后封装给接收方,接受方收到数据以后显示视频的代码如下:

protected void paintComponent(Graphics g) {

super.paintComponent(g);

if(img!=null){

g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);

}

}

public void UpVoide(Image img){

this.img=img;

this.repaint();

}

一个新的线程将每次接受到的Image对象作为参数调用UpVoide方法,则能快速刷新JPanel上的图像,达到视频播放的效果。

3.5 P2P穿透NAT的实现步骤

NAT的穿透技术在P2P的的发展起到了至关重要的作用,可以说如果没有穿透NAT的方法,P2P绝不会成为一项如此热门的领域,因为P2P穿透NAT使大量的内网用户也能够享受到P2P带来的效率和速度了。

假设Client A和Client B,分别两个内网中的PC,其中Client A的IP地址是192.168.0.20,其网关是202.187.45.3,Client B的IP地址是192.168.0.10,其网关是187.34.1.56,服务器的IP地址是219.237.60.1,那么P2P具体的实现步骤如下:

1. Client A登录服务器,NAT A(Client A的网关) 这次的Session分配了一个端口60000,那么Server S收到的Client A的地址是20

2.187.45.3:60000,这就是Client A的外网地址了。

2. Client B登录Server S,NAT B给此次Session分配的端口是40000,那么Server S收到的B的地址是187.34.1.56:40000

图4.6 UDP穿透示意图

3. Client A通过Server S得到B的IP地址是187.3

4.1.56:40000,然后Client A向此IP发送信息,NAT B抛弃此条信息。

4. Client A通知Server S,申请UDP穿透。

5. Server S 通知Client B,并将Client A的IP地址和端口告诉Client B;

6. Client B收到信息以后,像Client A也发送一条消息,便会在NAT B上留下一个Session。

7. Client A 再向Client B发送信息时候,NAT B会将消息转发给Client B。

8.完成UDP穿透,Client A和Client B可以互相通讯。

3.6 文件传输模块的设计

文件传输是即时聊天软件的主要功能之一,而文件的特殊性也决定了对于通过网络通信实现文件的传输,可靠性与完整性的要求都很高。根据需求分析在本模块儿的设计中,我们未采纳UDP的传输方式。但是,目前处于两个原因的考虑:1)IP地址短缺;2)网络安全——防止黑客软件和病毒的泛滥。大部分上网的个人计算机都被“隐藏”于防火墙或者NAT之后。这就在很大程度上阻挡了面向连接的对等端实现TCP互联。因此,在此模块中,为适应各种情况,保证文件的成功传输,我们采取了P2P和C/S模式并存,互为补充的模式,以P2P方式为主。在进行文件传输时,首先采取P2P方式进行互联。如果由于任何原因点对点方式不能成功,系统或自动采取点对服务器方式,从而确保文件传输的成功,模块设计结构如图

图4.7 P2P连接示意图

系统采用TCP的方式发送,通过CINDY的框架下,对文件进行分包发送的代码如下:

发送方(部分)

for (int i = 1; i <= QUEUE_SIZE; i++) {

Buffer buffer = BufferFactory.allocate(MESSAGE_SIZE);

buffer.position(2);

int readCount = buffer.read(fc);

// readCount为-1则文件已经读取完毕,发送完成关闭

if (readCount == -1) {

buffer.release();future.getSession().close();

}else{

buffer.putUnsignedShort(0, readCount).flip();

//开始发送

session.send(buffer);

}

接收方(部分)

Buffer buffer = (Buffer) obj;

if (fc == null) {

fileName = buffer.getString(Charset.UTF8, buffer.remaining());

fc = new RandomAccessFile(fileName, "rw").getChannel();

} else {

while (buffer.hasRemaining())

buffer.write(fc); //写入文件

}

3.7 组群功能的具体实现

组群功能是即时聊天软件的一大进步,取代了曾经的基于WEB的聊天室。本系统的组群功能支持,组群的建立,加入组群,管理组群,组群公告,组群聊天等功能,每一个用户登录以后,都可以在组群栏中创建自己的组群,并添加用户到组群中来。

创建组群的用户将成为组群的管理员,能够管理组群用户和修改组群的资料信息等。

组群聊天模式采用TCP连接服务器转发,之所以采用这种模式是考虑到所以用户已经和服务器连接起来了,通过TCP转发能够降低程序的复杂性,不过从实际考虑,如果要投入实际运行,应该将TCP的组群聊天室改为UDP形式。

组群聊天同样支持文字的字体、颜色、大小、粗细进行设定,同时也支持图文并茂。

3.8 聊天记录模块的实现

本系统支持聊天记录的保存和查阅,在这里采用的是文件保存的形式,将聊天记录保存为文本文件,位置在程序目录中的用户ID目录里,以好友的ID命名。选择以文本文件作为聊天记录的载体是因为若使用JAVA DB数据库来储存聊天记录,会降低程序运行速度,弊大于利。

if(new File(Dir).exists());

//如果目录不存在则建立目录

new File(Dir).mkdir();

if(chatnote.exists())

//如果文件不存在则建立文件

chatnote.createNewFile();

FileOutputStream out=new FileOutputStream(chatnote,true); /

StringBuffer sb=new StringBuffer();

//将用户名、时间和聊天记录加入StringBuffer

sb.append(friend.getName()+""+getDate()+"\r\n"+chat+"\r\n");

//先转换成“UTF-8”后写入文件

out.write(sb.toString().getBytes("utf-8"));

out.close();

若要查看聊天记录,可以直接到软件目录进入用户ID的文件夹直接查阅记录,或者在软件中进行查看记录,聊天记录查看界面如下:

图4.8 聊天记录查看界面

由于系统比较庞大,不能讲解所有的具体实现步骤,所以只选择部分比较关键的模块进行叙述。

4 小结

本文主要介绍了本人综合运用Swing、Cindy网络框架、JMF多媒体框架、MySQL数据库开发设计了一个P2P的即时聊天软件。软件中的部分模块的设计思想和实现部分的关键代码。

即时通讯软件QQ和微信的比较

即时通讯软件的设计分析 ————QQ与微信的异同与发展趋势 腾讯QQ(简称“QQ”) QQ是腾讯公司开发的一款基于Internet的即时通信(IM)软件。腾讯QQ支持在线聊天、视频电话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与移动通讯终端等多种通讯方式相连。1999年02月,腾讯正式推出第一个即时通信软件——“OICQ”,后改名为腾讯QQ。QQ在线用户由1999年的2人(2人指马化腾和张志东)到现在已经发展到上亿用户,在线人数超过一亿,是中国目前使用最广泛的聊天软件之一。 微信 微信是一款基于移动场景、为手机而设计的社交应用。所以设计了基于地理位置的功能——查看附近的人,更适合手机端的输入方式——语音输入,更简便的手势操作——摇一摇,基于手机才能使用的功能——通讯录匹配、二维码名片。这一切都利用了手机的特性,为了更符合移动场景。 QQ与微信的相同点 微信与QQ一样都是即时聊天通讯工具,都可以与好友进行线上聊天发表情与分享心情新闻等等。 QQ与微信的不同点 微信是被设计者重塑了的QQ。QQ刚刚出现的时候,也多存在陌生生交流。长时间沉淀,形成了QQ的特色:熟人即时通讯。而微信借助移动IM刚刚起步的大形势,以移动通讯为切入口,有QQ平台推广直接跳过了熟人或者陌生人的区分。如果说两者最大的不同,就是:1、用户人群不同,微信通过智能手机这个媒介过滤了QQ大部分的低端用户; 2、手机QQ是PCQQ在移动端上延伸,而微信是针对智能移动端量身定做,所以智能移动端的属性比较强一些。 因为用户群已经确定,QQ基因难以改变,所以设计者借助大势,通过功能、视觉、交互等等产品的各方面重塑了即时通讯QQ,使微信的定位人群要高端化。分析产品之间的不同,从定位、设计、特色功能着手。 一、定位:人群的定位——QQ是青少年,微信则偏向于白领。这也是腾讯的去年轻化战略的最成功案例。时间定位——QQ是一个即使的通讯工具,直接的说,我们一般聊QQ都是抽出特定的时间,一段时间,而在移动时代,碎片的化时间才是移动的常态,所以,微信比QQ赢在了碎片化。 二、设计:微信区别与手机QQ的也有很多在于设计,①放弃了QQ分组,而直接采用通过拼音索引。其实这符合手机通讯录特点,直接把微信融入到手机中,融入感更强。②微信摒弃了QQ的高度的集成,一个很冗杂的客户端,而以轻便的平台,任凭用户添加,可多可少,符合移动直观的聊天、语音特性。 三、特色功能:QQ作为即时通讯的集大成者,包括在视频聊天、文件传输等扩展上做到了无出其右。微信是社交属性开始融于媒体属性,其公众平台的出现,挤压了不少的微博时间,也为微信做为一个移动端的平台,一个入口做了铺垫,这正式当年QQ走的路,只是,移动端的平台不同,不是简单粗暴的堆叠,而是

即时通讯软件的发展及其现状

摘要 近一、两年来,即时通讯软件(InstantMessenger)的发展突飞猛进。在短短的几年内,网络即时通信大有取代传统通信方式之势。继电子邮件之后,即时通讯对我们的通信方式又进行了一场革命,这种革命甚至延续到了我们的感情领域,只要双方都在互联网上。即时通讯所拥有的实时性、跨平台性、成本低、效率高等诸多优势,使之日益受到网民们的喜爱。随着互联网成长起来的“e一代”,在交换联系方式时已经习惯了交换QQ号。 本文介绍了网络即时通讯软件的发展过程及现状,五种最常用的即时通讯软件,以及即时通讯软件的最新发展。 关键字:即时通讯;网络发展;软件

目录 摘要 (1) 一、即时通讯 (3) (一)概要 (3) (二)即时通讯软体 (4) 二、国内常用的五种即时通讯软件 (4) (一)QQ (4) (二)MSN (5) (三)阿里旺旺 (6) (四)百度hi (6) (五)POPO (7) 三、即时通信软件的现状 (8) 四、即时通信行业发展趋势 (9) 五、总结 (10)

一、即时通讯 即时通讯(Instant messaging,简称IM)是一个终端服务,允许两人或多人使用网路即时的传递文字讯息、档案、语音与视频交流。分电话即时通讯手机和网站即时通讯代表百问https://www.doczj.com/doc/0c7310535.html,,手机即时通讯代表是短信,视频即时通讯如QQ,MSN,百度hi等应用形式。 (一) 概要 即时通讯是一个终端连往一个即时通讯网路的服务。即时通讯不同於e-mail在於它的交谈是即时的。大部分的即时通讯服务提供了presence awareness的特性──显示联络人名单,联络人是否在缐上与能否与联络人交谈。 在早期的即时通讯程式中,使用者输入的每一个字元都会即时显示在双方的萤幕,且每一个字元的删除与修改都会即时的反应在萤幕上。这种模式比起使用e-mail更像是电话交谈。在现在的即时通讯程式中,交谈中的另一方通常只会在本地端按下送出键(Enter或是Ctrl+Enter)後才会看到讯息。 在网际网路上受欢迎的即时通讯服务包含了MSN Messenger、AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、ICQ与QQ。这些服务有赖於许多想法更久的(与普遍)的缐上聊天媒介,如Internet Relay Chat一样知名。 1970年代早期,一种更早的即时通讯形式是柏拉图系统(PLATO system)。之後在1980年代,UNIX/Linux的交谈即时讯息被广泛的使用於工程师与学术界,1990年代即时通讯更跨越了网际网路交流。1996年11月,ICQ是首个广泛被非

基于BS方式的即时通讯软件的设计与实现

基于B/S方式的即时通讯软件的设计与实现 摘要 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为web-msn的即时通讯系统。 web-msn是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax 技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用Visual Studio .NET 2003作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:Web-msn;即时通讯;B/S;Ajax

The Design and Implementation of Instant Message Based on B/S Abstract Instant message is currently the most popular way to communicate on the Internet,by the way various instant message software have been continuously appearing; service provider offers more and more communication services nowadays. As the development of the Internet, instant message will be more widely used than before. This article first describes the development and the current status of the instant message. Then it discusses the technologies of the instant message such as communication protocol, service mode and friend-making mode. It makes a comparison and analysis with respect to the current technology and also provides some possible solutions for improvement. At last it designs and develops an instant message system named web-msn. The web-msn system is an instant message system which bases on b/s mode. You can login and interact with it through IE. It makes communication and finding friends more conveniently. It is designed using Ajax, which doesn’t need to wait for refreshing page, so carry out communication instantly. This system is based on .NET Framework 1.1 and uses Visual Studio .NET 2003 as the development tool. It accumulated some new technology in .NET into our system. During the process of development, it used the popular reconstruction development method, which optimizes the system design. Key words:Web-msn; Instant Message; B/S; Ajax

即时通讯工具的异同

即时通讯工具的异同 不同点 腾讯QQ 腾讯是中国最早的互联网即时通信软件开发商,是中国的互联网服务及移动增值服务供应商,并一直致力于即时通信及相关增值业务的服务运营。腾讯QQ已形成为国内用户最多的个人即时通信工具,2004年腾讯QQ推出了2004Beta2新版本,在软件功能上作了较大的改进,它的发展引导着国内即时通讯软件的发展方向。 作为国内即时通讯软件的老大,QQ2004 II Beta2版本增加了多项耳目一新的功能,如魔法表情、影片截图(图14)、多人语音、网络记事本等等。 MSN MSN是微软公司开发的即时聊天工具,由于微软产品用户众多,MSN操作简单运行稳定,因此MSN的普及速度非常之快,现在已经是世界主流的聊天工具,并且功能越来越强大,最近推出了7.0版本。 喜欢写文字的朋友如果拥有MSN的.NET PassPort账号可以去申请MSN最新提供的MSN Spaces空间,让自己也成为网络博客。另外MSN7.0还增加了MSN Today的对话框,可以让用户即时看到MSN网站上提供的最新服务。 雅虎通 雅虎通(Yahoo! Messenger)是一种免费的消息服务,它允许用户与朋友、家人、同事及其他人进行即时的交流。使用即时消息可以与朋友交谈,并能发现他们何时在线。雅虎通内置了股票、新闻、和记分板等选项卡,这样不论用户在何处浏览因特网,都可以始终监视用户所有个性化信息。使用最新的雅虎通6.0版本,还可以获得1G大小的雅虎邮箱。 雅虎通推出了免费向使用6.0版本的用户提供1G邮箱的服务,并且全部免费发送手机短信,它在免费功能上打出了一张亮牌!而在功能上内置了一搜网的搜索引擎,便于用户即时查找网络资源。 TOM-Skype TOM-Skype是TOM在线和Skype Technologies- S.A.联合推出的互联网语音沟通工具。Tom-skype采用了最先进的P2P 技术,为您提供超清晰的语音通话效果,使用端对端的加密技术,保证通讯的安全可靠。您无需进行复杂的防火墙或者路由等设置,就可以顺利安装轻松上手。TOM-Skype可以免费的直接呼叫全世界的朋友的软件,服务提供商是互联网上免费的电话公司。用户只需要花几分钟时间下载软件、注册TOM-Skype账户,便可以插好耳机、麦克风、或者与TOM-Skype配套的USB电话,开始像打电话一样呼叫朋友了。TOM-Skype的功能和前面五款软件相比,聊天和多媒体功能没有那么丰富,而在它所特有的通话功能技术开发上独树一帜,具有领先的P2P技术、穿透防火墙、安全加密、跨平台使用的特点。 新浪UC 新浪UC是新一代开放式即时通讯娱乐平台,它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使用户在聊天的同时能边说、边看、边玩,从而带给用户前所未有的聊天新感觉。 新浪UC的用户则可以根据自己在线时间的长短获得免费的网络硬盘空间,最大支持120M,每天免费发送15条手机短信,并可直接用该账户享受新浪网的游戏、多媒体同学录、聊天室等服务。只要打开UC咨询通还可以即时获得最新的新闻信息,查看天气预报等。

即时通讯软件的设计与实现

即时通讯软件的设计与实现 1 系统实现模块 1.1 服务端模块 服务端主要包括三个模块: 1.网络模块,建立TCP服务器,负责监听端口,与客户端建立连接并接受和发送数据。 2.应用模块,负责处理从网络模块接收到的数据,予以分析处理,进行转发或对数据库进行操作,并返回相关信息。 3.数据层,数据层用来与数据库建立连接,应用模块必须通过数据层来进行数据库的操作。 日志记录 图4.1 系统模块图 1.2 客户端模块 用户端包块以下模块: 1.用户界面模块,此模块包括客户端的操作界面,由NetBeans编写的GUI,进行了较多的美化,采用偏向Vista的风格。 2.网络模块,此模块包括两个小模块,TCP模块用于和服务器端通讯,而UDP 模块则负责和客户端进行P2P通讯。 3.聊天模块,此模块负责在用户聊天时候,对聊天的数据进行封装,对聊天的图片也进行压缩,以适用网络传输。在接受到聊天数据之后,又会对聊天数据进行分解操作,最后生成聊天内容。 4.群组模块,此模块包括群组聊天、群组的创建、管理、更新等功能。 5.文件传输模块,此模块用于实现客户端之间的文件传输功能。 6.视频聊天模块,此模块用于实现客户端之间的视频聊天功能。 7.系统设置记录模块,此模块用于实现保存聊天记录,登录日志,以及保存系统设置信息的功能。 系统记录模块 图4.2 客户端模块图 2 数据库设计 2.1用户表设计 用户表是系统中的基础表,主要用来记录用户注册时的各种信息,此表还有一个从表userlogin表用来记录用户登录和状态信息。[12] Userinfo表

UserLogin表 用户关系表是用来保存用户之间的好友关系的数据表,查询好友列表的时候要从此表中查询与自己ID想关联的好友ID,type字段可以设置两者的关系,其中1为好友关系,0为黑名单。 其他表,如组群表,族群信息表就不在此一一列出。 3 系统模块的详细设计 此章节将叙述系统部分模块的设计方法和具体实现。 3.1 网络模块的设计实现 本系统采用TCP和UDP混合的网络通讯,客户端与服务器之间登录验证时采用TCP连接,登录之后,客户端与服务器采用UDP方式保持通讯,客户端和客户端之间采用UDP连接,如果无法直接连接,通过服务器申请UDP穿透NAT,如果失败,则消息通过服务器中转传递。

五款主流即时通讯软件分析

纵观近年来国内即时通讯软件市场,QQ在较长时间内一直因贴近国人需求而一枝独秀。与此同时,功能越来越强大的MSN Messenger其市场份额也在扩大,Yahoo Messenger也有一定的用户,而在语音通话和界面简洁方面各有特色的Google Talk和Skype,也牢牢抓住了一些网民的心。在接下来的部分中,我们将这5款IM软件进行横向评测。所有参评的软件均已更新到最新版。(Yahoo! Messenger 因8.0 beta 多次安装失败,采用了7.x系列的最新版) 图目前国内用户较常见到的五款主流即时通讯软件 ★联系人容量 Windows Live Messenger 联系人数目从75、150升级到300人,目前是600人,与QQ相当。而Yahoo Messenger在8.0中通过插件,已经可以达到1000人。Google Talk联系人数目和Gmail一样,超过5000,上限未知。Skype联系人上限未见报道,小编多方查询也未知道结果。 500-600的联系人容量对于日常使用来说已经够用,但这个数字经过长时间的积累,也会慢慢耗尽。当然,如果你是IM狂人当然另当别论了。 ★安装程序及安装后文件夹体积 对于功能,当然是强大的好;但是软件体积,还是精简些比较好。QQ和Google Talk在体积方面显然是两个极端:随着QQ功能的逐步增多,比如TM、QQ音乐、3D秀等,腾讯也想把所有的功能都打包进去,自然造成了安装程序和程序文件夹体积的增大。而Google Talk非常简洁,安装文件竟然只有1.3兆,安装后文件夹内居然只有主程序、卸载程序两个文件,可谓精简至极。 图五款IM软件的安装包及安装后体积(单位:兆) 尽管当今宽带普及,用户的硬盘空间也是越来越大,人们大可不必为这几十兆空间太伤头脑;但空间占用超过平均水平太多的IM软件无疑会令相当一批用户感到臃肿。 ★运行内存占用

即时通讯课程设计

《计算机应用系统(软件)》课程设计报告题目:即时通讯软件 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 完成日期:2014 年8月23 日

一、系统需求分析2 ?项目名称2 ?开发背景2 1、文档说明 3 2、实现功能3 3、功能说明3 二、系统的UML基本模型4 1、用例图4 三、数据库设计4 (1)E-R图4 (2)数据库逻辑结构5 1存储用户信息表Users详细信息 5 2存储QQ消息表Messages详细信息5 3存储QQ消息类型表MessageType详细信息5 4存储好友表Friends详细信息5 5存储好友策略表FriendshipPolicy 详细信息6 6存储血型表bloodType 详细信息6 7存储星座类型表star 详细信息6 8存储密码表SavePwd 详细信息6 三、系统运行结果(截图)6 1、登录界面:6 2、申请QQ界面6 3、忘记密码窗体7 4、主窗体:7 5、修改个人信息8 6、查找好友界面:9 7、聊天界面:9 8、设置字体10 9、有新消息提示12 10、退出 12 四、课程设计总结13 一、系统需求分析 ?项目名称 “MyQQ”聊天系统 ?开发背景 在当今信息化的时代,人们需要简捷快速的方式进行沟通。用手机交流存在费用高,

操作麻烦的问题。因此开发一个基于C/S 架构的QQ,可解决在局域网范围内与好友进行便利交流,无需任何费用。 1、文档说明 改文档描述了MyQQ的功能、数据库、以及ER图、等、让用户可以大体的了解该软件安的功能。 2、实现功能 01 注册QQ号 02 登录到主界面 03 登录后可以显示好友列表、QQ头像、未查看的消息 04 可以通过性别、年龄、QQ号查询好友,并添加好友 05 编辑个人的信息、修改密码、设置添加好友的模式 06 可以与好友进行实时聊天 07 头像列表、可以从100个头像里面选择自己喜欢的。 08、可以设置聊天字体,颜色。 3、功能说明 1、登录 显示登录界面。用户输入用户名称和口令后,提交页面。系统验证用户的登录: 若用户名称或口令不正确,系统显示登录失败消息,用户可再次登录;若用户名 称和口令正确,登录成功,系统显示一个登录后的页面,可供用户进行聊天。若 忘记密码,可找回密码。 2、注册、忘记密码 用户必须先申请QQ 号,才能登录MYQQ 系统。用户注册信息的妮称不能相同。 注册信息除包含基本资料外,还包含星座和血型,忘记密码可以找回。 3、登录后主窗体 显示好友信息,扫描未读聊天信息,同时来消息的好友头像闪烁。可添加和删除 好友,并将头像设置为小图标。 4、查找添加好友 查找好友的方法可有精确查找和模糊查找。也可通过年龄和性别进行查找。可将 查到的网友添加为好友。 个人信息管理 可以修改个人信息资料,如头像等。也可进行安全设置。如更改密码。更改完成 显示更改成功 6、聊天 可与好友进行聊天。信息即时更新。 7、头像列表 用列表的方式显示系统提供的头像。供用户选择。 8、系统消息

即时通讯工具与人的自由

Vol.33No.1 Jan.2012 第33卷第1期2012年1月赤峰学院学报(汉文哲学社会科学版) Journal of Chifeng University (Soc.Sci )目前国内即时通讯工具竞争异常激烈,以腾讯、MSN 、飞信、阿里旺旺等为代表,它们拥有大批的使用者。随着使用者各种需求的增加,它们也在不断的更新各自的功能,令众多使用者对其更加信赖。 1.腾讯QQ 随着网络的发展QQ 不仅是一个即时通信工具,它已成一种文化现象,俨然也成为一种生活方式。近90%的QQ 使用者,打开电脑的第一时间就会登陆其QQ 查看每日新的留言及信息。它是国产即时通讯工具的先驱,用户量和技术水平均已相对稳定,集图文消息实时发送和接收功能为一体的IM ,还为使用者提供网络硬盘、离线文件存储、QQ 群、游戏社区、音乐中心等功能,均符合使用者的需求。 2.MSN 国外即时通讯市场中,MSN 则拥有大量的用户。而当 MSN 进入中国以后,凭借着自身的优势,以简约的界面、免 骚扰等优势很快在高端商务人群中占据了一席之地。微软技术力量的支持与服务体系是毋庸置疑的,从此方面看, MSN 应属于世界范围内最强势的即时通讯软件。 3.飞信 飞信除了具备聊天软件的基本功能以外,还实现PC 用户与手机用户之间的即时互通,在实质意义上为使用者创造了一个不受约束与限制、安全沟通与交流的通讯平台。 4.阿里旺旺 随着网络购物的兴起,阿里巴巴网同淘宝网推出了阿里旺旺商务软件,方便买卖双方的交流与沟通,其独特性是将注册用户与注册账户相互捆绑,从而保证了买卖双方最大的利益,使之成为安全、公平均有保证的交易平台。 一、即时通讯工具对人的自由的影响(一)中西方对自由观的概述 1.历史上西方的自由观 重视个性的观念是西方社会的特点,因此人们对于自由观念的追寻与探讨也从未间断。中世纪基督教文化中,自由观是同“原罪”、“救赎”这两个基本的神学教义紧密相连的。基督教的自由观摒弃了古希腊的自主性求善原则,因为 人固有的原罪,所以人不可能主动寻求善,自由应该建立在接受性的拯救概念之上,是一种受宗教信条限制的自由观。到了近代法制社会,自由被理解为自主性。既存在认识层面上意志的自由,又存在实践意义上行为的自由。霍布斯对自由的定义是在最广泛意义上不受阻碍,只要一个人能够不受外界的阻碍,按自己的意愿做自己力所能及的事,就是自由的。 在现代化技术飞速发展的今天,自由的内涵日益丰富,同时也被诸多的条例所限制,自由的行为也越加理性。伯林将自由划分为两种一是消极自由,是指一个人的行为不受外在的干预和制约,它是“免于什么”的自由;二是积极自由,是指要“成为什么”的自由。这一时期对于“自由”的探讨己不仅仅停留在理论层面,更多的是从自由行为的实际出发。 2.历史上我国的自由观念 在中国古代传统思想文化,“自由”并没有作为一个独立的问题被提出来。孔子说自己“七十而从心所欲,不逾矩”,他认为随心所欲是有要求的,自由是需要有条件限制的。从道家看来,现实生活中必然存在一定的制约,是不完全自由的,他们注重追求精神上的自由。 19世纪中叶,出现了西学东渐的局面。西方自由观念也 在此时逐渐传入中国,严复指出:“中文自由,常含放诞,态唯,无忌惮诸劣义。然此自是后起附属之话,与初义无涉。初义但云不为外物拘牵而已,无胜义亦无劣义也。”此后我国的自由观在经历了数几千年封建社会约束后,逐渐向注重个性的方向转变,追求个性自由的步伐也开始逐渐加快。 (二)即时通讯工具对人的自由的促进 即时通讯工具的核心是“沟通与交流”,如何为每位使用者提供更加完善、便捷的服务是众多研发者们最关心的问题。实际上,即时通讯工具是人类社会进步的象征,从创建到现在的迅猛发展都充分体现出人的自主和自由,当人类不断向自由世界迈进时,即时通讯工具为我们开辟了新的领域,犹如让我们在纷繁复杂的现实生活之外,寻求到一个世外桃源。它的多功能性可以让我们资源共享,对个人所 即时通讯工具与人的自由 李 旻,李东阳 (成都理工大学 文法学院,成都 610059) 摘要:即时通信,简称“IM ”是(Instant Messaging )的缩写,它是一种使人们能在网上识别在线用户并与他们进行实时交 换消息的技术。随着互联网络的飞速发展,即时通讯工具的功能也在日益丰富,它不再是一个单纯的对话工具,至今已经发展成为一个集各种功能于一体的综合信息平台,也成为生活中不可或缺的一部分。 关键词:即时通讯;人的自由;观念;阻碍中图分类号:G206.2 文献标识码:A 文章编号:1673-2596(2012)01-0116-02 116--

基于TCP协议的简单即时通信软件的设计与实现

基于TCP协议的网络通信系统的设计与实现 摘要:网络通信,由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。 本文设计并实现了基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。 关键词:即时通信;文件传输;套接字;TCP协议 Abstract :Instant messages have several advantages such as real-time, cross-platform, cheap and efficient. To design a Multi-user IM (instant message) architecture is very i mportant in both theory and realism. Instant message based on TCP/IP protocol that is realized by socket interface. Almost all UNIX operation systems and Microsoft's win dows operation systems provide support of socket in the kernel. Using the uniform int erface, we can develop a portable program of TCP/IP, which help us transfer informati on in Internet safely and credibly. The system uses the client/server(C/S) mode. The server takes the responsibility of th e login message of client, the saving of friend message and Message heartbeat. The tra nsmission of the basic messages of the customer end will be designed on P2P architec ture. This thesis explains how the client and server communicate via serializing XML message. Key words: Instant Message; File Transfer; Socket; TCP protocol

“开发聊天软件” 项目计划书

北京师范大学珠海分校 开发聊天软件 项目计划书 目录 一、软件设计概要 (1) 1.1设计目的 (1)

1.2性能需求 (2) 二、软件设计分析 (2) 2.1任务概述 (2) 2.2设计的总体结构描述 (2) 2.3文字传输模块 (4) 2.4文件传输模块 (5) 三、项目流程 (6) 四、项目人员设计 (6) 4.1项目小组人员 (6) 4.1项目小组任务分配 (7) 一、软件设计概要 1.1设计目的 随着信息技术的飞速发展,人们在工作中对即时聊天,文件传输的使用和需求越来越多。 现有的商用QQ和MSN等聊天软件娱乐性很强,源代码不明确,信息安全性

无法保障,软件本身作为第三方软件不便管理。 对于企业或组织,使用的聊天软件主要考虑软件稳定性和软件功能的实现,而对美工和软件娱乐性不用过多考虑。 从技术层面上说单纯的即时聊天软件结构简单,功能模块不多,因此很多公司或组织会选择,自行研发此类软件供内部使用。 1.2性能需求 该类软件的使用对象是企业或组织,所以性能需求有以下几点: ◆该软件用户能够进行信息的发送和接受(包括字符串信息以及文件信 息); ◆该软件可以传送文件,并且有相关权限设置,职员之间只可以向上一级 和同级及下级发送文件,不可越级。 ◆该软件聊天模式分为三种:个人对个人、同部门之间、全公司 ◆该软件用户在使用之前需要先注册,注册之后需验证为本公司人员才能 使用,无需设置昵称作用。 ◆该软件能实现信息管理功能(包括信息接受,信息发送,信息删除以及 信息存储); ◆该软件服务器端可以实现对注册用户信息的查看,删除一些违规用户或 强制使这些用户下线; ◆该团建服务器端可以对部分用户及对全体用户发送系统消息; 二、软件设计分析 2.1任务概述 软件开发主要做的工作有:软件功能分析,各个界面的设计,具体各个功能的实现,测试、实施以及维护软件。 2.2设计的总体结构描述 总体上来看,软件可分为服务器和客户端两大块。

让即时通讯工具不仅只是聊天

让即时通讯工具不仅只是聊天 十年前,我们的工作沟通方式主要是邮件,通过回复、转发、抄送以及不断的循环进行沟通,留下彼此的交流记录,同时传送重要文档。 后来,我们有了QQ,用上了MSN,SKYPY等聊天工具,可以快速实现点对点的沟通交流,高速传输文件,有些紧急的情况下似乎比邮件更方便更快捷。 再后来,我们有了微信,有了强大的智能手机,无时不刻都在交流都在互动,文件传输更加便捷,因为我们几乎都不用打开电脑就可以实现文档的查阅、修改、传送。 可是,每一个智能手机,也慢慢的成为了一个个的信息孤岛,如果彼此不添加对方,就无法沟通;大量工作文档,仅仅通过交换后保存在本地,没有版本控制,没有全文检索,更无法根据需要进行有效的知识管理;聊天记录只是一条条无生命力的文字,和工作相关的任务、计划、需求都无法转化为可跟踪的事件。。。。。。 那么,有没有更好的解决方案,既可以让员工之间愉快的聊天,又能实现更科学的日常工作管理,答案只有一个,那就是借助于泛微所提供的企业级即时聊天工具。 泛微协同管理即时聊天工具(企业内部微信)不仅可以实现市场上聊天工具几乎所有的功能,还能提供更丰富、更人性化、更有价值的各种帮助: 1. 不管企业人数是10人,100人、1000人,还是10000人,都不需要彼此添加好友,而通过与系统组织架构同步的多维通讯录,就可以实现与任何员工实时沟通; 2. 点击每一个你熟悉或陌生的同事名字,就可以实时发送短信、邮件、传文件,甚至安排会议、日程、流程等;

3. 即时聊天工具不仅支持手机移动端,平板电脑端,也支持PC电脑端,并保证所有客户端的信息完全同步,满足企业员工随时随地的沟通需要; 4. 在每个群聊中,都可以把重要事项置顶并成为群公告,重要信息再也不需要考古了;

即时通讯系统的设计与实现

哈尔滨师范大学 学年论文 题目即时通讯系统的设计与实现 学生崔振伟 指导教师张飚 年级2010级 专业电子信息科学与技术 系别光电工程系 学院物理与电子工程学院 哈尔滨师范大学 2013年5月

论文提要 目前信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。规模较大的企业,都会建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地。 本系统为企业内部即时通讯系统,是鉴与员工之间所处地点不同,员工之间交流的重要性的情况下,针对公司不适合让员工连接外网的实际情况下设计构思出来的,该系统设计完成后可用于企业员工之间的即时通讯工作,同时本系统具有很强的可扩展性,加以适当扩充,可以适用于各个不同的公司。

即时通讯系统的设计与实现 崔振伟 摘要:伴随着社会进入信息化时代,信息的准确、快速、安全的传递在社会中越来越重要。无论是国与国之间,企业与企业之间还是企业内部这间的信息交流都要变得非常重要。建立一套软,硬件结合的通信系统,从而保证企业信息能够及时,准确、安全地传递到目的地,能有效的解决员工之通讯交流障碍的问题,并防止员工跟外部联系。 因此为了适应企业的这一需求,特开发了适应企业局部通信的局域网即时通讯系统。论文介绍了在Microsoft可视化集成开发环境Visual studio 2008下开发一个基于对话框的局域网即时通讯系统的整个过程,系统采用基于对话框的MFC应用程序框架开发前台的操作界面,采用多线程和网络技术来实现成员这间的互联。实现了局域网内用户信息的采集与显示,最小化托盘,文字聊天,语音聊天,窗口抖动,字体设置,保存聊天记录的功能。在开发过程中,严格按照软件工程的整个流程进行。经过可行性分析,需求分析,概要设计,详细设计,编码,单元测试,集成测试等阶段,最终开发出了可以在单机上运行的试用版局域网即时通讯系统。本系统的界面友好,操作简单方便加以适当的扩充完善就可正式的投入使用。 关键词:软件工程网络通信线程 一、即时通讯的意义与背景 随着二十世纪八十年代到九十年代PC机的普及与深入,互联网的到来,解决PC机之间即时通讯的需求越来越强烈,一些通讯软件也应运而生,具有代表性的如下:QQ:由深圳市腾讯计算机系统有限公司1999年2月开发的一款基于Internet的即时通信(IM)软件。由1999年的2人到现在已经发展到上亿用户了,在线人数超过一亿。是目前使用最广泛的聊天软件之一。 MSN:由微软开发的1999年7月开发的即时通讯工具,4大顶级个人即时通讯工具之一。 Google Talk:是由Google 开发的的即时通讯方式,简称Gtalk。并宣称该软件“可以让你与朋友随时随地,在世界的任何一个角落自由的通话,发送即时讯息。并于2008年7月发布了iPhone版的Google Talk和2011年4月在Android版本的Google Talk上启动语音和视频聊天功能。 AIM:是美国在线推出的即时通讯软件类似于MSN,等,在泛北美地区拥有最广泛用户数量(2009.07数据),超过排名第二和第三的Yahoo Messenger和MSN。支持iPhone,Android,iPad,MAC,Windows等平台。 国内的还有新浪UC,YY,百度hi,Lava快信等,国际上的Yahoo!Messenger等。这些软件有一个集中的特点是基于互联网并且需要服务器的支持。其工作方式如下:登陆即时通讯服务器,获取一个自动建立的以前的即时通讯对象列表,获取自已的在线状态,当好友列表的某个用户在任何时候登录上线并且想跟你进行联系时,即时系统会发一个消息提示你,然后你就可以与目标对象建立一个聊天对话通道进行各种消息如文字、语音、窗口等来

即时通讯系统的设计与实现毕业设计论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

基于Web的即时通讯系统的设计与实现

滨江学院 学年论文 题目基于Web的即时通讯系统的设计与实现 院系计算机系 专业软件工程(动画方向) 学生姓名薛辰燕 学号20092358096 指导教师杨轩 职称讲师 二O一二年十二月二十日

目录 1.引言 (1) 1.1软件开发背景 (1) 1.1.1web的简介 (2) 1.1.2即时通讯系统 (2) 1.1.3即时通讯工具的产品 (3) 1.2课题研究的内容及意义 (4) 2.系统概述 (5) 2.1系统开发工具和语言 (5) 3.系统开发 (7) 3.1需求分析 (7) 3.2系统功能模块的设计 (7) 3.3数据库的设计 (9) 3.3.1数据库概念设计 (10) 3.3.2数据库逻辑设计 (12) 4.结论 (13) 参考文献: (14)

基于Web的即时通讯系统的设计与实现 薛辰燕 南京信息工程大学滨江学院计算机系,南京 210044 摘要:Internet的出现,不但给人们创造了新的信息交流技术、新方法还带动了许多新兴媒体的出现,而且给人们提供了新的开放式的信息交流的平台,带来了一种新的生活方式,丰富了人们生活,给生活带来了许多乐趣。随着Internet的普及和发展,使得即时通讯系统兴起并且发展成为人们使用最多,最为方便的交流工具。即时通讯系统工具简称IM是因特网出现后兴起的一种交流沟通的信息传递工具,它能够通过一些语言和符号使人们能够进行沟通交流。即时通讯系统是一种终端服务,它是基于因特网网络协议产生的点对点,面对面的一种软件。它可以提供即时的文字,文件,图片,语音,视频等多种方式的媒体数据方便人们进行交流沟通。 本文从实际的应用角度出发,运用相关计算机软件的知识,运用https://www.doczj.com/doc/0c7310535.html,和Microsoft SQL Server 2005相结合设计一个简单的基于Web类似QQ的即时通讯系统。保证了系统的简单开发,但是具有强大的功能。本软件主要实现用户的注册登录,搜索添加好友删除好友,双人聊天,群聊等基本功能。 关键字:IM , https://www.doczj.com/doc/0c7310535.html,,SQL Server 2005,Web 1.引言 1.1软件开发背景 网络高速发展的当今社会,互联网已经进入到广大人民群众的生活中,并且与人们的生活不可分离了。随着Internet的不断发展进步,人们通过网络来了解信息已经越来越频繁了。它打破了地域限制,真正使信息得以共享,改变了人们的生活方式。人们利用网络能够更快的获取最新的信息,能够快速与家人、朋友进行信息交流。即时通讯系统作为互联网的服务器之一,已经被广大网名认可,具有广大的群众基础,满足市场的需求。同时即时通讯系统也在不断的发展完善,逐渐发展成集交流、娱乐、资讯、搜索、办公和企业服务为一体的信息交流平台,不再是简单的聊天工具了。随之被广泛应用到企业的工作当中,为大多数企业带来丰厚的利润,提供了巨大的商业价值。好多公司开始对其进行开发并开发出相应的软件谋取

即时通信工具教案(1).doc

主题4 即时的信息通信 任务一申请即时通信账号 教学内容小学信息技术五年级上册主题四任务(一) 教学目标1、了解即时通信工具的功能及特点。 2.让学生熟悉QQ的基本功能并能进行简单的信息交流。 3.正确使用即时通讯工具交流知识、促进学习、传递友谊加强自控力 教学重点让学生独立完成QQ账号申请并添加好友进行信息简单的信息交流。 教学难点好友添加 教学准备网络教室,QQ软件, 教学过程 (一)设置情境,导入课题 以学生撰写稿件需要及时的信息交流为情境导入新课出示课题 引导语:上节课我们学习了使用电子信箱发送、接收邮件,电子信箱拉近了人与人交流的空间,方便了我们的生活。但是如果我们在平时的工作或生活中很多时候需要取得亲友的及时信息反馈,电子信箱是做不到的。那我们应该怎么办呢? 生讨论,交流想法,师归纳 预设:生回答(打电话、上QQ,直接去同学家找人) 师:大家都有很多的想法,特别是某些同学用到了新知识QQ,这节课老师就跟同学们一起来学习新的通信方式——QQ。 (二)新授 1.概念梳理 即时通信的概念学生阅读教材并回答 (教师强调“允许两人或多人使用网络即时的传递文字信息、文件并进行语音和视频交流” 对比使用电子邮件进行交流强调关键词“即时”。 ) 学生阅读材料进一步了解即时通信工具的工作方式及流行的即时通信产品 2.实技操作 (1)申请QQ账号 A.师演示申请QQ过程,生跟着操作。 具体操作步骤: 启动软件,单击“注册”按钮,出现“注册账号”对话框; 按照网页提示填写基本信息,全部完成后单击“立即注册”按钮; 填写密码保护资料; 申请成功,记住申请的QQ号码。 B.讲解如何设置密码 密码很重要,不一定要长,但是要复杂,最好是(大小写字母+数字+符号)混合(2)添加好友 如何添加新朋友呢? 生以小组为单位讨论,自主探索,合作学习,汇报交流 预设: 生1:通过“看谁在线上“查找自己喜欢的网友 生2:通过“高级查找”中“条件查找”添加好友 巩固练习:

相关主题
文本预览
相关文档 最新文档