计算机网络

是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,

在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

网络编程

就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。

TCP/IP协议栈

应用层

传输层

网络层

网络接口层

大多数应用程序员仅仅涉及应用层和传输层

网络通信三要素

IP地址:InetAddress

网络中设备的标识,不易记忆,可用主机名

要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,

通过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中,这个标识号就是IP地址。

java提供了一个类InetAddress 供我们使用。

端口号

用于标识进程的逻辑地址,不同进程的标识

物理端口 网卡口

逻辑端口 我们指的就是逻辑端口

每个网络程序都会至少有一个逻辑端口

用于标识进程的逻辑地址,不同进程的标识

有效端口:0~65535,其中0~1024系统使用或保留端口。

传输协议

通讯的规则

常见协议:TCP,UDP

UDP

  将数据源和目的封装成数据包中,不需要建立连接;

  每个数据报的大小在限制在64k;因无连接,是不可靠协议;不需要建立连接,速度快

TCP

  建立连接,形成传输数据的通道;在连接中进行大数据量传输;

  通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低

Socket

Socket套接字:

•网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。

Socket原理机制:

•通信的两端都有Socket。

•网络通信其实就是Socket间的通信。

•数据在两个Socket间通过IO传输。

UDP传输

DatagramSocket与DatagramPacket

建立发送端,接收端。

建立数据包。

调用Socket的发送接收方法。

关闭Socket。

发送端与接收端是两个独立的运行程序。

TCP传输

Socket和ServerSocket

建立客户端和服务器端

建立连接后,通过Socket中的IO流进行数据的传输

关闭socket

同样,客户端与服务器端是两个独立的应用程序。

-1-7 java 网络编程基本知识点 计算机网络 TCP/IP协议栈 通信必备 tcp udp相关推荐

  1. 【Java网络编程(一)】IP地址、端口、URL、网络爬虫原理、TCP UDP协议

    IP地址与域名的获取 package cn.hanquan.test;import java.net.InetAddress; import java.net.UnknownHostException ...

  2. JAVA网络编程→BIO到NIO、IP域名服务器DNS端口、套接字编程Socket、TCP与UDP

    视之不见名曰夷:听之不闻名曰希:搏之不得名曰微. 此三者不可致诘,故混而为一. 其上不皦,其下不昧,绳绳兮不可名,复归于无物. 是谓无状之状,无物之象,是谓惚恍. 迎之不见其首:随之不见其后. 执古之 ...

  3. java网络编程udp_java网络编程(UDP详解)

    UDP详解 一,TCP/IP协议栈中,TCP协议和UDP协议的联系和区别? 联系: TCP和UDP是TCP/IP协议栈中传输层的两个协议,它们使用网络层功能把数据包发送到目的地,从而为应用层提供网络服 ...

  4. 【计算机网络】TCP/IP协议栈—网络接入层

    TCP/IP协议栈其他文章 网络参考模型 TCP/IP协议栈-应用层 TCP/IP协议栈-传输层 TCP/IP协议栈-英特网层 文章目录 TCP/IP协议栈-网络接入层 数据链路层 以太网帧格式 以太 ...

  5. 【计算机网络】网络协议与计算机网络体系结构(OSI参考模型、TCP/IP体系、网络通信标准化组织)及 Java网络编程

    网络协议与计算机网络体系结构 知识点总结 网络协议与分层体系结构 开放系统互连参考模型OSI/RM 五层的体系结构 [例]主机甲向主机乙发送数据 实体和服务访问点SAP PDU:协议数据单元 TCP/ ...

  6. 网络编程基础知识点总结

    网络编程基础知识点总结 一. 概述 本文是网络编程系列的第一篇文章,所以不讲代码,主要是网络编程的一些基础知识,下面的这些知识点主要是对java网络编程这本书的归纳与整理.有兴趣的同学可以看看. 我们 ...

  7. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  8. 【Java】 Java网络编程总结

     一.网络编程三要素: IP地址:每个设备在网络中的唯一标识. 端口号:每个程序在设备上的唯一标识. 协议:为计算机网络中进行数据交换而建立的规则或约定的集合. UDP: 面向无连接,数据不安全,速度 ...

  9. 04.Java网络编程(转载)

    1.网络编程 1.1计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 按照计算机网络的定义,通过一定的物理设备将处于不同位置的计算机连接起来组成的网络,这个网络中包含 ...

最新文章

  1. 解决The current branch is not configured for pull No value for key branch.master.merge found in confi
  2. 査勇:华为云在视频AI转码领域的技术实践
  3. (转)如何保障微服务架构下的数据一致性?
  4. java 批量上传图片插件_java多文件上传plupload控件实现多图片上传(一)
  5. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
  6. 苹果应用上架遇到的问题(2017年4月27日)
  7. String、StringBuilder、StringBuffer的区别
  8. LiteOS内核源码分析:动态内存之Bestfit分配算法
  9. opencv 作图函数
  10. python 计时器_Python上下文管理器的魔力
  11. 基于yolo的口罩识别(开源代码和数据集)
  12. html模块常用命名总结
  13. 第二章 ZeroMQ进阶
  14. Qt_ios使用本地资源图片
  15. PDF加页码怎么设置?这里有你想知道的答案
  16. 小孩儿学计算机可以学些什么,基础知识
  17. 深度学习入门基础:图像分类网络整理(最全)
  18. ESP8266连接TFT(ST7789)配置说明
  19. 获取ie窗口的IHTMLDocument2对象
  20. Chapter3-线性模型线性模型

热门文章

  1. 使用ajax从服务器端获取数据
  2. Android学习之RecyclerView的使用
  3. Java操作Excel 并 保存新Excel
  4. 安装与使用 supervisor(可管理Tomcat进程)
  5. ​一文了解ICP备案
  6. Linux常用命令——mysqladmin命令
  7. 欧拉公式推导(e^iπ+1=0)
  8. 创建基础 protractor 项目
  9. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求
  10. 必备模块知识——继电器