第13周 预习、实验与作业:Java网络编程

目录

1 课前问题列表

   1.编写一个网络程序,为了与其他网络程序通信,至少要知道对方的什么信息?

   2.TCP与UDP协议有什么不同的呢?什么时候该选择哪种协议?HTTP使用的是TCP还是UDP?不重要的短信息传送之类的功能更适合使用TCP还是UDP?

  3.打开浏览器浏览某个网页,使用资源监视器查看该浏览器使用了什么端口?(打开路径:任务管理器-性能-打开资源监视器) 。使用“curl -v 某个网址”,查看之间的HTTP通信信息,并做记录。

4.使用Socket进行编程,使用的是TCP还是UDP协议?观察TCPClientTest.java,其输入流、输出流哪个是从网络读数据,哪个是向网络发送数据?程序中有出现TCP或UDP协议的细节吗?观察TCPClientTest.java,该程序可以同时进行从网络上读、向网网络上写吗?

5.启动TCPEchoServer.java服务器,然后使用两个客户端(比如两个telnet或两个网络调试助手)同时连接该服务器,可以连接成功吗?为什么?


1 课前问题列表

   1.编写一个网络程序,为了与其他网络程序通信,至少要知道对方的什么信息?

对方的ip地址

   2.TCP与UDP协议有什么不同的呢?什么时候该选择哪种协议?HTTP使用的是TCP还是UDP?不重要的短信息传送之类的功能更适合使用TCP还是UDP?

TCP的全称是传输控制协议(Transmission Control Protocol)

UDP的全称是用户数据报协议(User Datagram Protocol)

不同:

TCP是面向连接的协议,它在通信之前需要先建立连接,然后再进行数据传输。TCP需要通过三次握手建立连接和四次挥手释放连接。其连接具有连续性和稳定性。

UDP是一种无连接的、不可靠的传输协议,它简单地将应用程序传递给它的数据报发送到目标地址,并没有确认机制来确保数据的完整性和可靠性

HTTP使用的是TCP。

不重要的信息使用UDP。理由:UDP的数据发送不需要检查是否发送成功以及不需要接收方的确认,这些应用场景对实时性要求较高,可以容忍少量数据丢失,而且UDP的低延迟特性符合这些需求。

  3.打开浏览器浏览某个网页,使用资源监视器查看该浏览器使用了什么端口?(打开路径:任务管理器-性能-打开资源监视器) 。使用“curl -v 某个网址”,查看之间的HTTP通信信息,并做记录。

第13周 预习、实验与作业:Java网络编程_第1张图片

4.使用Socket进行编程,使用的是TCP还是UDP协议?观察TCPClientTest.java,其输入流、输出流哪个是从网络读数据,哪个是向网络发送数据?程序中有出现TCP或UDP协议的细节吗?观察TCPClientTest.java,该程序可以同时进行从网络上读、向网网络上写吗?

  • 使用的是TCP协议。
  • Inputstream输入流是从网络读数据。
  • Outstream输出流是向网络发送数据。
  • 没有出现TCP或UDP协议的细节
  • 不可以

5.启动TCPEchoServer.java服务器,然后使用两个客户端(比如两个telnet或两个网络调试助手)同时连接该服务器,可以连接成功吗?为什么?

单一连接。成功

第13周 预习、实验与作业:Java网络编程_第2张图片

多个连接,不行,显示端口被占用

因为服务器是单线程的,只能处理一个客户端的信息

第13周 预习、实验与作业:Java网络编程_第3张图片

你可能感兴趣的:(网络)