欢迎来到天天文库
浏览记录
ID:57429391
大小:606.00 KB
页数:11页
时间:2020-08-17
《计算机网络编程实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机网络编程技术》实训报告基于UDP协议多客户有图形用户界面的网上聊天程序UDP-basedprotocolmulti-clientwithagraphicaluserinterface,onlinechatprogram班级:姓名:学号:伊犁师范学院电子与信息工程学院一.实验目的巩固所学的Java语言基础知识,增进Java语言的编辑基本功,拓展常用类库的应用,了解Java网络程序设计的思路和方法,熟练掌握UDP协议编写程序的设计方法,掌握java.net基本网络包的使用方法,熟练使用Socket以及多线程。二.实验内容运用Java程序编写聊天室,实现一个基于UDP协议的简
2、单的聊天程序,支持多人聊天并且客户端具有图形化用户界面。程序实现了聊天室的基本功能,其中有:1.启动服务器。2.启动登录界面。3.进入客户端界面。4.发送信息。5.离开客户端界面。6.关闭服务器。三、实验环境操作系统:Windows平台。测试环境:Eclipse。四、实验步骤1.创建项目,组织文件启动Eclipse,建立项目、包及各类,键入代码,操作结果如图1所示。图1项目和文件2.运行程序进行测试(1)首先运行Server.java,打开“聊天室服务器”。服务器IP地址为192.168.0.2如图2所示。图2服务器控制台(2)服务器监听是否有新聊天者连接,如果没有,一直等待。
3、如图3所示。图3服务器等待(3)运行客户端程序client.java,打开“多人聊天室“界面,客户端1的IP地址为192.168.0.3客户端2的IP地址为192.168.0.49,如图4所示。图4聊天室客户端界面(4)在“多人聊天室”界面输入框输入聊天信息。如图5所示。图5在输入框输入聊天信息(5)在“多人聊天室”界面发送信息。如图6所示。图6发送聊天信息(6)服务器端显示两个客户端聊天内容,如图7所示。图7服务器端显示聊天内容(7)退出服务器和多人聊天室。五、程序清单//多人聊天室服务器端packageChatFrame_01;importjava.net.Datagram
4、Packet;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.Socket;importjava.util.*;publicclassServer{Listips=newArrayList();DatagramSocketsocket;DatagramPacketpacket;DatagramSocketssocket;DatagramPacketspacket;publicServer()throwsException{socket=newDatagramSocket(6666);
5、ssocket=newDatagramSocket(8888);}publicvoidlisten()throwsException{byte[]array=newbyte[100];packet=newDatagramPacket(array,array.length);socket.receive(packet);byte[]data=packet.getData();Stringreceived=newString(data,0,data.length,"UTF-8");System.out.println(received);String[]ss=received.sp
6、lit("\
7、");Stringip=ss[0];byte[]dt=ss[1].getBytes("UTF-8");spacket=newDatagramPacket(dt,dt.length,InetAddress.getByName(ip),3333);ssocket.send(spacket);}publicstaticvoidmain(String[]args)throwsException{Servers=newServer();while(true){s.listen();}}}//多人聊天室客户端packageChatFrame_01;importjava.io
8、.*;importjavax.swing.UIManager;importjava.awt.*;publicclassChatApp{booleanpackFrame=false;ChatApp(){ChatFrameframe=newChatFrame();if(packFrame){frame.pack();}else{frame.validate();}//放置窗体在屏幕中央DimensionscreenSize=Toolkit.getDefaultToolkit().getScree
此文档下载收益归作者所有