本文是一篇数据库论文范文,数据库相关大学毕业论文,关于局域网即时通信软件的与实现相关毕业论文模板范文。适合数据库及参考文献及互联网方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。
摘 要:即时通讯软件是在近几年在世界范围内发展起来的,它能实时的将各种形式的信息在网络之间传达.该聊天软件采用Mi-crosoft公司的SQLServer2000作为后台数据库,通过对现在流行的一些Icq的参考,建立数据库,完成信息的通讯.
关 键 词:网络;通讯;聊天;软件
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)03-0579-03
1概述
当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”.在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了.聊天室程序可以说是网上最简单的多点通信程序.一个简单的聊天室,从程序员的观点来看就是在多个I/O端点之间实现多对多的通信.
2具体实现过程分析
本系统的设计核心是Socket底层通信,基于快速稳定的Socket底层通信架构,不可以实现聊天系统,还可以实现其它的如游戏、数据采集等实时性要求较高的系统,甚至可以建立一个快速的平台服务器系统.考虑到系统的可重用性和伸缩性,需要将本系统的网络通信的应用系统分离开.
这样基于可重用的网络通信层,可以实现其他各种实时性较高的应用系统,同时,系统还需要提供一些基本功能支持.
此系统设计分为三个层次最底层是Socket通信层,将负责客户端和服务器之间的数据交换,同时通过接口层和应用层保持实时数据联系.
Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求.使用有联接方式时,通信链路提供了可靠的,全双工的字节流服务.在该方式下,通信双方必须创建一个联接过程并建立一条通讯链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕关闭此联接过程.使用无联接方式时其系统开销比无联接方式小,但通信链路提供了不可靠的数据报服务,不能保证信源所传输的数据一定能够到达信宿.在该方式下,通信双方不必创建一个联接过程和建立一条通讯链路,网络通信操作在不同的主机和进程之间转发进行.
3核心代码
ChatServer.class,ClientProc.class,xccFrame.class,addFrame.class,delFrame.class,expertFram.class,helpFrame.class,aboutFrame.class,
类ChatFrame.class主要代码:
等等等等等等等等等等等等等等privateJLabelweleInfo,
privateJTextAreamonArea,//公共发言区privateJTextAreamyMsgArea,
privateJComboBoxperponsComboBox,
privateJTextFieldinMsgField,//发言输入框
privateJCheckBoxprivateTalk,
privatebooleanprivateTalkFlag等于false,//是否是私聊,默认值为假privateJButtonsentButton,//发送消息按钮
privateJListpeopleList,//显示进入聊天室的人名单privateJButtonrefurbishButton,
privateJMenuItemmenuItem,
privateJMenuItemhideMenuItem,
privateBufferedReaderin,
privatePrintWriterout,
privateDefaultListModellistModel,
privateStringmyName,
privateStringwithWho等于"所有人",JPanelcenterPanel,
JScrollPanemonAreaScroll,JScrollPanemyMsgAreaScroll,publicChatFrame(){
super("MSGXCC聊天系统"),
//*********************上面进入聊天室房间**************//
JPanelupperPanel等于newJPanel(),
weleInfo等于newJLabel(),
IconBordTop等于newImageIcon("images\\BordTop.gif"),
weleInfo.setIcon(BordTop),
nameLabel等于newJLabel(),upperPanel.add(weleInfo),upperPanel.add(nameLabel),
//**************中间聊天室两个窗口***********************//centerPanel等于newJPanel(newBorderLayout()),//面板
monArea等于newJTextArea(15,40),//公共言论区monArea.setEditable(false),
monAreaScroll等于newJScrollPane(monArea),monAreaScroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS),monAreaScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER),
monAreaScroll.setBorder(BorderFactory.createTitledBorder("主聊天频道")),centerPanel.add(monAreaScroll,BorderLayout.NORTH),
myMsgArea等于newJTextArea(10,40),//我的发言区myMsgArea.setEditable(false),
myMsgArea.setForeground(newColor(107,101,29)),//设置颜色myMsgAreaScroll等于newJScrollPane(myMsgArea),myMsgAreaScroll.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS),myMsgAreaScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER),
myMsgAreaScroll.setBorder(BorderFactory.createTitledBorder("我的频道")),centerPanel.add(myMsgAreaScroll,BorderLayout.CENTER),
//******************输入发送区***********************JPanelcenterLowerPanel等于newJPanel(newBorderLayout()),
JPaneltempPanel1等于newJPanel(newFlowLayout(FlowLayout.LEFT)),
JPaneltempPanel2等于newJPanel(newBorderLayout()),
JLabelwithWho等于newJLabel("对"),perponsComboBox等于newJComboBox(),
perponsComboBox.addItem("所有人"),privateTalk等于newJCheckBox("私聊"),inMsgField等于newJTextField(33),sentButton等于newJButton(),
IconsentIcon等于newImageIcon("images\\ButtonSenddown.gif"),sentButton.setIcon(sentIcon),
sentButton.setBackground(Color.WHITE),
//JToggleButtontoggleButton等于newJToggleButton("私聊"),tempPanel1.add(withWho),
tempPanel1.add(perponsComboBox),tempPanel1.add(privateTalk),
//tempPanel1.add(toggleButton),
tempPanel2.add(inMsgField,BorderLayout.CENTER),
tempPanel2.add(sentButton,BorderLayout.EAST),centerLowerPanel.add(tempPanel1,BorderLayout.CENTER),centerLowerPanel.add(tempPanel2,BorderLayout.SOUTH),centerPanel.add(centerLowerPanel,BorderLayout.SOUTH),
//**************East显示进入房间的名单*********************//
JPaneleastPanel等于newJPanel(newBorderLayout()),listModel等于newDefaultListModel(),
peopleList等于newJList(listModel),peopleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION),
JScrollPaneListScrollPane等于newJScrollPane(peopleList),ListScrollPane.setPreferredSize(newDimension(150,400)),refurbishButton等于newJButton("刷新列表"),等等等等等等等等