《Java基础入门第2版》 您所在的位置:网站首页 java基础入门第三章课后题答案 《Java基础入门第2版》

《Java基础入门第2版》

2024-06-08 12:29| 来源: 网络整理| 查看: 265

文章目录 一、填空题二、判断题三、选择题四、简答题五、编程题六、原题及其解析

一、填空题 1、面向连接、客户端、服务器端 2、2、0-65535 3、链路层、网络层、运输层、应用层 4、InetAddress 5、DatagramPacket、DatagramSocket 二、判断题 1、错 2、对 3、对 4、错 5、对 三、选择题 1、C 2、ABD 3.、A 4、B 5、C 四、简答题

1、在Internet中传输数据都需要遵守一定的规则,这种规则通常被称作网络通信协议。网络通信协议对数据传输格式、传输速率、传输步骤等作了统一规定,通信双方必须共同遵守这个规定才能完成数据的交互。到目前为止,网络通信协议已经有很多种,其中TCP/IP协议在世界范围内应用最为广泛。 2、UDP协议是无连接通信协议,所谓的无连接就是指数据的发送端和接收端不建立逻辑连接。由于UDP协议消耗资源小,通信效率高,通常都会用于音频、视频和普通数据的传输。UDP协议在传输数据时不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。 TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”。 3、ServerSocket类用于创建服务端程序,通过调用ServerSocket对象的accept()方法,接收来自客户端的请求。 Socket类用于创建客户端程序,当客户端和服务端的两个Socket建立了专线连接后,连接的一端既能向另一端连续写入字节,也能从另一端读取字节。Socket类中定义了getInputStream()方法返回Socket的输入流对象,定义了getOutputStream()方法返回Socket的输出流对象。只要连接的一端向该输出流对象写入了数据,连接的另一端就能从其输入流对象中读取到。

五、编程题

1、 接收端:

import java.net.*; public class Receiver { public static void main(String[] args) throws Exception { byte[] buf = new byte[1024]; DatagramSocket ds = new DatagramSocket(8001); DatagramPacket dp = new DatagramPacket(buf, 1024); ds.receive(dp); String str = new String(dp.getData(),0, dp.getLength()); System.out.println(str); ds.close(); } }

发送端:

import java.net.*; public class Send { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(3000); String str = "hello world"; DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), InetAddress.getByName("localhost"), 8001); ds.send(dp); ds.close(); } }

2.服务端

import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws Exception { new TCPServer().listen(); } } class TCPServer { public void listen() throws Exception { ServerSocket serverSocket = new ServerSocket(8002); Socket client = serverSocket.accept(); OutputStream os = client.getOutputStream(); os.write(("hello world").getBytes()); Thread.sleep(5000); os.close(); client.close(); } }

客户端

import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws Exception { new TCPClient().connect(); } } class TCPClient { public void connect() throws Exception { Socket client = new Socket(InetAddress.getLocalHost(), 8002); InputStream is = client.getInputStream(); byte[] buf = new byte[1024]; int len = is.read(buf); System.out.println(new String(buf, 0, len)); client.close(); } } 六、原题及其解析

暂无。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有