LTE及其回传网解决方案浅析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录1.需求分析……………………………………………………………………12.概要设计……………………………………………………………………….22.1功能图…………………………………..……………………………………..23.详细设计………………………………………………………………………23.1类关系图………………………………………………………………………23.2类设计图………………………………………………………………………33.2.1、类client…………………………………………………………………33.2.2、类RTFSend…………………………………………………………………43.2.3、类RTFReceive……………………………………………………………43.2.4、类Server…………………………………………………………………53.2.5、类YeeKuMap………………………………………………………………53.2.6、类ServerThread…………………………………………………………63.2.8、类ClinetThread…………………………………………………………64.主要程序实现……………………………………………………………….75.测试与结果………………………………………………………………….165.1功能模块界面.……………………………………………………………….166.心得体会…………………………………………………………………….22参考文献…………………………………………………………………………..2321聊天小程序1.需求分析聊天工具大多数由客户端程序和服务器程序外加服务器端,本程序采用客服机/服务器架构模式。通过Java提供的Socket类来连接客户机和服务器并使客户机与服务器之间相互通信。由于聊天是多点对多点的而Java提供的多线程功能,用多线程可完成多点对多点的聊天。主要有两个应用程序,分别为服务器程序和客户端程序。服务器应用程序主要用于消息转发,以及向所有用户发送系统消息等;客户端应用程序主要用于客户聊天记录的显示和信息输入。采用Client/Server(C/S)体系结构,即客户机/服务器体系结构。聊天服务器专门用于监控用户状态和转发消息,客户端负责接收消息的用户序列和消息文本发送到服务器。该聊天系统实现私聊,群聊,用户登陆,退出聊天系统等功能。本系统的主要功能有以下几个部分组成:服务器端模块:系统信息的输入:可以输入任何信息;功能:将系统信息广播至各个客户端;踢除用户:服务器可以选择性删除在线的用户;客户端模块:登陆服务器列出当前在线用户信息;私聊和多人聊天的选择;发言:对输入的数据进行发送;离开状态;22.概要设计2.1功能图图1.程序功能图3.详细设计3.1类关系图3+Frame():void+actionPerformed():void+closeRs():void+init():void+main():void-SERNER:int-jfc-keyIn:string-listModel-peopleList-ps-socket-userName:stringClient+socket()+run():void-bin:bin-bout-socketRTFSend+RTFReceive():RTFReceive+run():void-receive-socketRTFReceive结束1结束2+Server():Server+init():void+main():void-SERVER_PORT:int-clients:int-kick-ssServer+ClientThread():void+getRealMsg():string+run():void-brClientThread+ServerThreaad()+getRealMsg():string(idl)+run():void-br-ps-socketServerThread+put():void+getKeyByVALUE()+removeByValue():voidYeekumAP1..11..11..11..11..11..11..11..11..11..1图2:类关系图3.2类设计图3.2.1、类client模块名称Client功能描述启动客户端系统接口与属性SERNER:intJfcPeoplrlistPskeyIn:string4Frame():voiduserName:stringFunction:启动客户端InPut:无OutPut:无Return:空publicClient()windowClosing(WindowEvente)mouseClicked(MouseEvente)InPut:OutPut:Return:voidcloseSocket()Function:退出时,关闭Socket3.2.2、类RTFSend模块名称RTFSend功能描述信息发送接口与属性BinBoutSocketSocketRun():void3.2.3、类RTFReceive模块名称RTFReceive功能描述信息接收接口与属性voidrun()Function:运行多线程InPut:无OutPut:无Return:空53.2.4、类Server模块名称server功能描述启动服务器端接口与属性voidmain(Stringargs[])Function:启动服务器端InPut:无OutPut:无Return:空server()Function:InPut:无OutPut:无Return:空voidcloseSocket()Function:设置关闭socketInPut:无OutPut:无Return:空voidgonggao(inta,Strings)Function:InPut:无OutPut:无Return:空Stringchakan(Stringname)Return:name/nullvoiddel(Stringtmp)Return:空3.2.5、类YeeKuMap模块名称YeeKuMap功能描述按钮事件的处理接口与属性Put():voidgetkeyByVALLEactionPerformed(ActionEvente)Function:InPut:OutPut:Return:63.2.6、类ServerThread模块名称ServerThread功能描述负责所有客户的接待接口与属性BrPSSSvoidrun()Function:运行该线程InPut:无OutPut:无Return:空3.2.7、类ClinetThread模块名称ClinetThread功能描述处理每一个连接上的客户接口与属性ClinetThread(Socketsc)BrgetRESTmeg()viodInPut:无OutPut:无Return:空StringgetLogName()InPut:无OutPut:无Return:空voidrun()Function:运行该线程InPut:无OutPut:无Return:空74.主要程序实现客户端:importjava.io.*;importjava.net.*;importjava.awt.*;importjava.awt.List;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;importjava.util.*;publicclassClientextendsJFrameimplementsActionListener{privatestaticfinalintSERVER_PORT=30000;privateSocketsocket;privatePrintStreamps;privateBufferedReaderbrServer;privateJFileChooserjfc;privateStringkeyIn;publicstaticDefaultListModellistModel=newDefaultListModel();//ListModel对象privatestaticJListpeopleList;Buttonbutton1=newButton(发送);staticButtonbutton2=newButton(私聊);staticButtonbutton3=newButton(发送文件);staticJCheckBoxjcb=newJCheckBox(私聊);StringuserName=null;//JButtonsendflie=null;staticTextAreatxtA1=newTextArea();//staticListlist1=null;staticTextAreatxtA2=newTextArea();//JTextAreatxtA2=null;publicvoidFrame(){JFrameframe=newJFrame(客户端:聊天窗口);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Containerpane=frame.getContentPane();pane.setLayout(null);frame.setLocation(320,240);frame.setSize(500,500);frame.setVisible(true);8//TextAreatxtA1=newTextArea();Client.txtA1.setBounds(10,10,370,300);//TextAreaClient.txtA2=newTextArea();Client.txtA2.setBounds(10,340,370,80);/*Listlist2=newList();list2.setBounds(400,10,90,300);*/peopleList=newJList(listModel);peopleList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//设置单选JScrollPaneListScrollPane=newJScrollPane(peopleList);Client.peopleList.setBounds(400,10,90,300);//Listlist3=newList();//list3.setBounds(400,340,90,120);//Buttonbutton3=newButton(发送文件);button3.setBounds(405,350,50,20);button3.addActionListener(this);//Buttonbutton1=newButton(发送);jcb.setBounds(160,430,80,40);//button1.setBounds(240,440,30,20);button1.addActionListener(this);//Buttonbutton2=newButton(私聊);button2.setBounds(300,440,30,20);button2.addActionListener(this);pane.add(txtA1);pane.add(txtA2);pane.add(peopleList);//pane.add(list1);//pane.add(list2);//pane.add(list3);pane.add(jcb);pane.add(button1);pane.add(button2);pane.add(button3);}9/*publicstaticvoidmain(String[]args){Frameframe1=newFrame();////Frameframe

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功