您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 实验15、16-基于JAVA的网络编程
南华大学计算机学院实验报告课程名称计算机网络原理姓名徐望成学号20184352135专业软件工程(人工智能方向)班级18软智01班日期2020年6月1日南华大学基于JAVA的网络编程(开放性实验)1.实验目标:掌握基于SOCKET的网络编程方法。基于JAVA语言,编写一个网络应用程序。2.实验内容(任选一个)即时通信小程序文件传输小程序3.实验平台Windows操作系统,Linux操作系统。JAVA开发平台(不限)。4.参考书籍《JAVANETWORKPROGRAMMING》即时通信小程序1、介绍:本小程序包含两个类,一个是TestSend类,用于发送信息,另一个是TestReceive类,用于接收消息。制作这个小程序主要使用了DatagramPacket类和DatagramSocket类中的方法,用于即时通信。2、实验源代码:TestReceive类packagetransmition6;importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.SocketException;importjava.util.Scanner;publicclassTestReceive{//接收方publicstaticvoidmain(String[]args){System.out.println(咨询老师上线。。。);//创建一个套接字,并且指定端口号为9999DatagramSocketds=null;Scannersc=null;try{ds=newDatagramSocket(9999);while(true){//接收数据,byte[]b=newbyte[1024];DatagramPacketdp=newDatagramPacket(b,b.length);ds.receive(dp);//处理数据Stringstr=newString(dp.getData(),0,dp.getLength());System.out.println(学生:+str);if(bye.equals(str)){System.out.println(老师结束了对话。。。);break;}//老师回复:sc=newScanner(System.in);System.out.print(我:);Stringstr2=sc.next();byte[]b2=str2.getBytes();DatagramPacketdp2=newDatagramPacket(b2,b2.length,InetAddress.getByName(192.168.1.45),8888);ds.send(dp2);}}catch(IOExceptione){e.printStackTrace();}finally{sc.close();ds.close();}}}TestSend类packagetransmition6;importjava.io.IOException;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetAddress;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.Scanner;publicclassTestSend{//发送方publicstaticvoidmain(String[]args){System.out.println(学生上线。。。);//创建套接字,8888指的是发送方端口DatagramSocketds=null;Scannersc=null;try{ds=newDatagramSocket(8888);while(true){//发送数据sc=newScanner(System.in);System.out.print(我:);Stringstr=sc.next();byte[]b=str.getBytes();DatagramPacketdp=newDatagramPacket(b,b.length,InetAddress.getByName(192.168.1.45),9999);//发送ds.send(dp);if(bye.equals(str)){System.out.println(学生结束了对话。。。);break;}byte[]b2=newbyte[1024];DatagramPacketdp2=newDatagramPacket(b2,b2.length);ds.receive(dp2);Stringstr2=newString(dp2.getData(),0,dp2.getLength());System.out.println(老师:+str2);}}catch(IOExceptione){e.printStackTrace();}finally{sc.close();ds.close();}}}3、运行截图:4、总结:本次实验主要是网络编程,虽然说之前学Java的时候老师有介绍过,但是时间有点久了,难免会忘记。所以我这次做实验的时候,又好好的翻出之前的网络编程知识好好的学习了一下。最后,这也是计算机网络原理实验的最后一个实验,要作一个有始有终的学生,从开始就要做好,而且还要坚持到最后一刻。计算机网络原理这门课,学起来可不容易,学会查询资料是关键的一步,希望在未来的学习,也能像计算机网络原理一样,学的越来越好。
本文标题:实验15、16-基于JAVA的网络编程
链接地址:https://www.777doc.com/doc-7223115 .html