当前位置: 首页 > article >正文

第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通信信息,并做记录。

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

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

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

单一连接。成功

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

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


http://www.kler.cn/a/147217.html

相关文章:

  • MCU的时钟体系
  • windows C#-异步编程概述(二)
  • day-83 最少翻转次数使二进制矩阵回文 II
  • GoogleCloud服务器的SSH连接配置
  • 2024山西省网络建设运维第十八届职业院校技能大赛解析答案(5. nginx 和 tomcat 服务)
  • 【Linux系统编程】第四十六弹---线程同步与生产消费模型深度解析
  • 技术人如何实现颠覆式成长
  • kafka2.x常用命令:创建topic,查看topic列表、分区、副本详情,删除topic,测试topic发送与消费
  • C语言:输出所有“水仙花数”。“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身,如153=1^3 +5^3+3^3
  • 深度强化学习(Double DQN)
  • 正则表达式详解
  • 深度学习之十一(扩散模型--Diffusion Variational Autoencoder,DVAE)
  • 3D数字孪生场景编辑器
  • 51单片机的智能窗帘系统【含proteus仿真+程序+报告+原理图】
  • 软件建模与文档:架构师怎样绘制系统架构蓝图?
  • 2023_Spark_实验二十一:Zookeeper单机安装与配置
  • python:傅里叶分析,傅里叶变换 FFT
  • 2023.11.27【读书笔记】|医疗科技创新流程(前言)
  • vue3(四)-基础入门之 fetch 与 axios
  • C++中的类与对象
  • sprintf函数
  • Android aidl的简单使用
  • Nacos 2.X核心架构源码剖析
  • 使用char.js 柱形方式显示 一年12个月的最高气温与最低气温
  • MongoDb 安装
  • JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)