欢迎来到天天文库
浏览记录
ID:34367623
大小:50.35 KB
页数:4页
时间:2019-03-05
《chp14 网络编程_参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chp14网络编程参考答案1.参考答案TCP和UDP都是传输层协议,TCP是有连接(有连接
2、无连接)的协议,UDP是无连接(有连接
3、无连接)的协议。这两种协议中,TCP协议更安全,而UDP协议传输效率更高。2.ABC3.ABServerSocket中没有getInputStream和getOutputStream方法4.参考答案一般而言,创建一个Tcp客户端,有以下几步:1)创建一个Socket对象2)调用getInputStream方法和getOutputStream方法获得输入输出流3)利用输入输出流,读写数
4、据4)关闭socket创建一个多线程的Tcp服务器,有以下几步1)创建ServerSocket对象2)调用该对象的accept方法,以获取客户端的连接。该方法返回一个Socket对象。3)利用返回的对象,创建一个新线程4)在新线程中完成读写操作5)在新线程中调用Socket对象的close方法5.参考答案//Client.javaimportjava.net.*;importjava.io.*;publicclassClient{publicstaticvoidmain(Stringargs[])throwsEx
5、ception{Sockets;//创建一个到“127.0.0.1:9000”的Tcp连接s=newSocket(“127.0.0.1”,9000);//向Tcp连接输出“HelloWorld”并换行PrintWriterpw=newPrintWriter(s.getOutputStream());pw.println(“HelloWorld”);//从服务器端读入一行文本,并打印出来BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInpu
6、tStream()));Stringstr=br.readLine();System.out.println(str);s.close();}}//Server.javaimportjava.io.*;importjava.net.*;publicclassServer{publicstaticvoidmain(Stringargs[])throwsException{//创建一个服务器端口对象ServerSocketss=newServerSocket(9000);//获得一个客户的连接Sockets=ss.a
7、ccept();//读入一行文本BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));Stringstr=br.readLine();//在读入的文本后面加上+“FromServer”str+=“FromServer”;//把处理之后的文本向客户端输出并换行PrintWriterpw=newPrintWriter(s.getOutputStream());pw.println(“HelloWorld”);//关闭连
8、接s.close();}}6.参考答案在UDP编程中,表示UDP端口的是DatagramSocket类,其中发送和接受的方法分别为send方法和receive方法;表示UDP数据包的类是DatagramPacket类。7.参考答案URL编程中,要用到URL类的openConnection方法获得一个url连接,该方法返回值为URLConnection类型。可以对返回的对象调用getInputStream方法,用来为读取url上的数据做准备。8.输出为null。应该在调用PrintWriter的println方法之
9、后使用flush()刷新缓冲区9.C10.参考答案//UDPServer.javaimportjava.io.*;importjava.net.*;publicclassUdpServer{publicstaticvoidmain(String[]args)throwsException{DatagramSocketsocket=newDatagramSocket(9000);byte[]bs=newbyte[128];DatagramPacketpacket;//创建一个packet,用bs数组来接受数据pac
10、ket=newDatagramPacket(bs,bs.length);//接收客户端发送的信息socket.reiceve(packet);for(inti=0;i<30;i++){bs="HelloFromServer".getBytes();DatagramPacketnewPacket=newDatagramPacket(bs,0,bs.length,packet
此文档下载收益归作者所有