网络编程技术课程设计_第1页
网络编程技术课程设计_第2页
网络编程技术课程设计_第3页
网络编程技术课程设计_第4页
网络编程技术课程设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、凉佼鬼z好丄尊网络编程技术课程设计对等模式的网络聊天室学生姓名院 计算机与软件学院业网络工程指导教师0三年六月系统目标1.1 开发背景1.2 需求分析1.3 环境要求总体设计2.1 功能结构图2.2 使用说明书2.3 任务分工表系统实现3.1 网络连接3.1.1 添加 IP :3.1.2 修改 IP :3.1.3 删除 IP :3.2 网络聊天3.2.1 发送消息:3.2.2 群发消息:3.2.3 接收消息:测试报告4.1 白盒测试4.2 黑盒测试设计心得6 参考文献1010111313网络聊天室1系统目标1.1开发背景网络聊天室是一款应用广泛,并且实用性强的一个非常典型的人机交互系统。在信息

2、世界 里,它供许多人通过文字与符号进行实时(您输入的内容马上就能被别人看见)交谈、聊天。此次设计的聊天室虽然其功能简单,但是在开发技术和过程中,加深了我们对所学网络编程技 术的理解,掌握实际网络应用的完整开发过程。1.2需求分析日常生活中,我们常用聊天室来为自己的工作和学习服务。一个操作简单、运行稳定的聊天室对于我们的交流有很大作用。由于自身技术受限,这次聊天室仅实现了最基本的聊天功能。1.3环境要求客户端操作系统:Windows操作系统前台开发工具:Eclipse、jdk1.62总体设计2.1功能结构图IP”;如果连接成功,则可通话。选择一个或多个添加成功的IP,在输入框中输入消息,即可实现

3、聊天室22使用说明书打开界面,输入对方的IP,与对方建立连接:如果连接失败,则提示“请检查功能;也可对选定的IP进行删除或者修改,对连接方进行更新。2.3任务分工一人负责一个模块:李冰洋负责网络连接模块, 庄巧雄负责网络聊天模块,陈晨负责需求分 析和总体设计,陈晓伟界面设计以及最后的整体调试。最终,实验报告主要由庄巧雄负责完成。3系统实现此步骤分别给出实现各功能模块所对应的界面截图。3.1网络连接3.1.1 添加 IP :代码如下:this .add( b1 );this .add( ipm );ipm .setSize(100, 20);ipm .setLocation(340, 450 +

4、 70 + 25);ipm .addActionListener(this );ipm .setActionCommand(ipm);.setSize(100, 20);.setLocatio n(340, 450 + 70);.addActionListener(this ); / 添加监听.setActionCommand(ip ); / 添加监听void actionP erformed(Act ionEvent a) b1b1b1b1publicString str = a.getAct ion Comma nd();Socket s;Prin tStream ps;if (str.e

5、quals(se nd ) String ss =this . ta .getText();if (ss != null & !ss.equals( try In etAddress addr = In etAddress. ip = addr.getHostAddress().toStri ng(); String address = addr.getHostName().toStri ng(); catch (Exce pti on e) System. out .println(e);)getLocalHost ();3.1.2 修改 IP :原IP芮佃2.1閱J.TDOi看輸入新P19

6、2.168.1.10(使用帮助删除-ip催改-ip代码如下:p ublic void fun() 添加组件 scroll-JListtry getLocalHost ();In etAddress addr = In etAddress.ip = addr.getHostAddressO.toStri ng(); catchstrlist(Exce pti on e) strlists out .println(System. list .setListData( this .add( jp ); ta .setEditable( false jp .setSize(150, 70);jp .

7、setLocation(340, 450);+ = ip ;第 ” +strlists strlist ););+ 个 + ip );3.1.3 删除 IP :更容子刪$余p代码如下:this .add( del );del .setSize(100, 20);del .setLocation(230, 450 + 70 + 25);del .addActionListener( del .setActi on Comma nd( if (str.equals( del /System.out. prin tl n(”this); /del); /)删除IP啦”);添加监听 添加监听命令if

8、( list.getSelectedValue() !=int i =list .getSelectedI ndex();strlist i = null ;list .setListData( strlist ); null ) 3.2网络聊天3.2.1发送消息:代码如下:发送消息/ 添加组件 b2=this .add( b2);b2 .setSize(100, 20);b2 .setLocation(20, 450 + 10);b2 .addActionListener(this ); / 添加监听PS =ps.pnntln(p s.close();s.close(); catch fin

9、 ally this . taSystem. else JOptionPane.showMessageDialog (this ,你好像没有输入消息内容”);3.2.2群发消息:b2 .setActionCommand(message ); / 添加监听命令p ublicvoidactionP erformed(Act ionEvent a) String str = a.getAct ion Comma nd();Socket s;Prin tStream ps;if (str.equals(se nd ) String ss =this . ta .getText();)if (ss !=

10、 null & !ss.equals(try getLocalHost ();In etAddress addr = In etAddress.ip = addr.getHostAddress().toStri ng();Stri ng address = addr.getHostName().toStri ng(); catch (Exce pti on e) System. out .println(e);try s = new Socket( ip , port );true );new Prin tStream(s.getOut pu tStream(),n ame + + ss);(

11、Exce pti on e) setText( ”);gc ();S2请大寡正隔険ffl,虫口果出现连按时间过长,有可能是iPt昔误*请天家等一会鉞好了2013-0X3-22:34分匚缈DO口000000012履秒一习加Pi兑neHo 穽右消息了,大冢沖201 3-06-13-Z2:34:512i?0000000000137J)MVPi.rieUO 我岌;肖息了,犬冢哥LU发酋肖思群通知:今天下午-*E3群发;肖息俊用帮助刪除-ip逵Jin-ip(産 Sk -ip代码如下:/ 添加组件broadcast this .add( broadcast小区广播broadcastbroadcast br

12、oadcast Sa() this thisbroadcast ); setSize(100, 20); .setLocatio n(20, 450 + 53);.addAct ion Liste ner( .setActio nComma nd(this ); / 添加监听broadcast ); / 添加监听命令thisthisthis.setTitle( 发送消息);.setSize(400, 400);.setVisible(.setLocati on(.setResizable(true );w - 400) / 2,( false );h - 300)/ 2);thisContai

13、ner c =.setDefaultClose Op erati on( JFrame.this.getC on te ntPan e();c.setLayout( n ull );this .add( send );send .addActionListener(EXIT_ON_CLOSE );this );sendsendsendthis contentcontent public.setActi on Comma nd( .setSize(120, 30); .setLocatio n(0, 300); .add( content );.setSize(400, 300); .setLo

14、cati on(0, 0);send/);/添加监听命令大小位置void actionP eformed(Act ionEvent a) String str = a.getAct ion Comma nd();Socket s;Prin tStream ps;if (str.equals( se nd ) String ss =this . ta .getText();if (ss != null & !ss.equals( try In etAddress addr = In etAddress.ip = addr.getHostAddress().toStri ng();String a

15、ddress = addr.getHostName().toStri ng(); catch System.try s = new Socket( ip , port );new Prin tStream(s.getOut putStream(),n ame + + ss);(Exce pti on e) out .println(e);)getLocalHost ();ps = ps.println( p s.close(); s.close(); catch fin ally this . tatrue );System. else JOp ti onPane.JOp ti onPane.

16、添加好友的(Exce pti on e) .setText( ); gc ();showMessageDialog(this ,你好像没有输入消息内容”);(this ,showMessageDialogIP- 添加IPn可以是内网也可以是外网 n确定好友上面也有本程序n+ 然后选择好友的IP就可以发送消息了 ”);if (str.equals( broadcast ) JOptionPane. showMessageDialog (this ,n你所有的好友(ip)都可以接受到消息nn类似群发消息”);S s = new S();DISPOSE_ON_CLOSE );s.setDefault

17、Close Op eratio n( JFrame./ broadeast();3.2.3接收消息:Ki诸大碩加】呆岀颂连fife讯血过岳”凸可iiSLSjrtS谍诸大:SE等一会豪妍 N2013-0e-d 4-1 1 :4旳54秒000000000050呈秒一*皿旨円克.:揍負消思201 3-0丘-1斗-1 1.45分54:!?0000000000625专秒一011如说.接更$肖貝册瞬-4代码如下:p ublic void save(Stri ng str, if (i = 1) /接受的消息String time=inti) 毫秒 ” ).format(Calendar. this . t

18、a .setText( if (i = 2) new Simp leDateFormat( getl nsta nee ta .getText()+time+yyyy-MM-dd-HH:mm().getTime();-+ str +分SS 秒SSSSSSSSSSSSSn);/本地的消息Stri ng time= new 毫秒 ” ).format(Calendar. this . ta .setText( Simp leDateFormat( getl nsta nee ta .getText() + time+yyyy-MM-dd-HH:mm ().getTime();- +n ame +分

19、SS 秒SSSSSSSSSSSSS说:+ str +n);nullpublic void run() BufferedReader br =try br = new BufferedReader( new InputStreamReader( .getInputStream(), GB2312 );String line = br.readLine(); System. out .println(line);if (line.indexOf( 6035 ) = -1 & line.indexOf( save(line, 1);StringBuffer b = size = 50;i = b.length()+size-1; finish = i/size;( int j = 1; j MVFifirhello 哉绘;古ET -去* 2O13-De-13-2J2:M1 J2i(iriOQOOOOOOOD1Zi7j(i!jMVPS:#i hello *匚有日,了 * 大凉三立KS無瑕箔曲礙送H:4WS4,,H瘵卯U-ipIiVbfflftfflh1B(Hlt5-if1 IIlif

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论