java基础班  网络编程应该提过。大学学计算机或者是通信的对这些东西肯定比较熟一些。主机到网络层是跟硬件相关的一些协议了。上层协议得依赖下层的协议。也就是说它们得联合起来共同工作才能够把数据传输出去。应用层要调用传输层的也依赖传输层的,传输层要依赖网络互联层。网络互联层最终要把数据发出去还要依赖最下面的主机到网络层,最终才会把这个数据发出去。所以四层的结构咱们要搞清楚。

要知道HTTP、TCP、IP协议分别都处于哪一层。好了,这个四层的模型咱们要搞清楚。‘


8080代表当前这台主机运行的这么一个软件,它占用的是哪一个端口。端口是不会重复的,一旦有程序占用了8080这个端口,如果你tomcat是后起来的话,那这个时候它就启动不了了。这个端口被别人占用了。


在IP的基础之上有一个TCP/UDP协议。TCP:面向连接  UDP:面向无连接的。TCP:像送快递的,第一次握手给你打电话,你说送过来吧,然后就给你送过来了。

第一次就是发了一个数据包,其实这个数据包就是想把连接打开的,这三次握手其实就是把连接创建起来。三次握手之后连接才真正创建,这个时候才可以进行数据的传输。断开的时候TCP还有四次的挥手。

第一次挥手就是我现在马上要关闭了,发送一个断开连接的请求,然后服务端给它回一句,好了,你可以断了。在第一次和第二次挥手的时候还是有数据进行传输的。然后服务端就等一下,有一个CLOSE-WAIT.等一下服务端的数据彻底的传过去之后,又给客户端发一条消息我现在彻底断开了。客户端收到服务端的消息,就可以断开了。接下来客户端也不会给服务端传数据了。所以就一共是四次通信/四次挥手。

三次握手和四次挥手保证了TCP连接相对来讲是比较安全的。HTTP协议是在TCP协议基础之上的。所以HTTP协议相对来讲也是比较靠谱的。大部分情况下,网络没有问题的情况下,很少会出现数据丢失的情况。

UDP:面向无连接,邮局。往信箱一丢,至于这个信封有没有人收到它不管。

UDP就不一样了,它直接就发。比如咱们这个飞秋,飞秋实际上用的就是UDP,这个东西你只要在线就能收到。如果不在线这个消息一样可以发,但是发完了那个人不见得会收到。这个就是TCP和UDP的区别。

TCP是协议,socket是java搞的做TCP/IP开发的一套接口/API.ServerSocket这边等待客户端的连接,客户端new一个socket传一个IP,传一个端口,就可以跟我的服务端建立一个连接。这个就是咱们要搞清楚的一个socket和TCP/IP它们之间的关系。实际上TCP/IP这一套协议实际上它不包含socket,跟socket没啥关系,在java下你要做TCP/IP相关的开发你要用到的API就是socket套接字。

12_tcp_ip相关概念的更多相关文章

  1. IDDD 实现领域驱动设计-上下文映射图及其相关概念

    上一篇:<IDDD 实现领域驱动设计-理解限界上下文> 距离上一篇有几天时间了,<实现领域驱动设计>第三章的内容都是围绕一个词-上下文映射图,我大概断断续续看了几天,总共看了两 ...

  2. [原创]java WEB学习笔记105:Spring学习---AOP介绍,相关概念,使用AOP,利用 方法签名 编写 AspectJ 切入点表达式

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. C#并行编程-相关概念

    菜鸟初步学习,不对的地方请大神指教,参考<C#并行编程高级教程.pdf> 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C# ...

  4. Java笔记1-Java相关概念和如何实现跨平台

    一.Java相关概念 1.Java语言的核心特点跨平台面向对象 2.Java的历史版本JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0 注意:JD ...

  5. Android开发学习总结——Android开发的一些相关概念

    一.什么是3G.4G 1995年问世的第一代模拟制式手机(1G)只能进行语音通话. 1996到1997年出现的第二代GSM.CDMA等数字制式手机(2G)便增加了接收数据的功能 Ÿ 3G指的是第三代移 ...

  6. JMS相关概念

    1.相关概念 1)JMS jms即Java消息服务(Java Message Service) 是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息 ...

  7. Scrum 的相关概念

    Scrum 的相关概念 4.1   Scrum 的起源 Scrum 是一种灵活的敏捷软件开发管理过程,这个名词来源于英式橄榄球.Scrum方法由Ken Schwaber和Jeff Sutherland ...

  8. linux设备驱动归纳总结(四):2.进程调度的相关概念【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-65555.html linux设备驱动归纳总结(四):2.进程调度的相关概念 xxxxxxxxxxxx ...

  9. linux设备驱动归纳总结(四):1.进程管理的相关概念【转】

    本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...

随机推荐

  1. python正则方法

    通过正则替换字符串 res=re.sub(正则,newString,srcString)//返回替换后的字符串 res,m=res.subn(正则,newString,srcString)//返回替换 ...

  2. 解读Unity中的CG编写Shader系列1——初识CG

    CG=C for Graphics  用于计算机图形编程的C语言超集 前提知识点: 1.CG代码必须用 CGPROGRAM ... ENDCG括起来 2.顶点着色器与片段着色器的主函数名称可任意,但须 ...

  3. MyEclipse的实体关系设计

    原文地址:http://www.myeclipsecn.com/learningcenter/database-development/myeclipse-entity-relation-design ...

  4. android4.4 evaluateJavascript 到android2.X上不能调用的问题

    android4.4上想用js注入的话.不能用旧的loadUrl()方法,每次load都会将页面又一次刷新一次. 可是在2.X的系统版本号上,evaluateJavascript 方法会报异常.解决的 ...

  5. byte数组和文件的相互转换

    /** * 获得指定文件的byte数组 */ private byte[] getBytes(String filePath){ byte[] buffer = null; try { File fi ...

  6. ubuntu安装rpm格式文件方法(转载)

    red hat 系统用rpm格式的文件安装软件   Debian系列用deb格式的文件安装软件 ubuntu安装软件是用deb格式的文件安装,ubuntu对于rpm格式的文件安装软件是: 先将rmp格 ...

  7. live555直播

    http://www.cppblog.com/tx7do/archive/2014/05/31/207155.aspx http://blog.csdn.net/sunkwei/article/det ...

  8. LeetCode(70)题解: climbing-stairs

    https://leetcode.com/problems/climbing-stairs/ 题目: You are climbing a stair case. It takes n steps t ...

  9. SAM4E单片机之旅——7、LED闪烁之TC中断

    RTT主要用做一个全局的定时器,而且不太通用.现在尝试使用一个更为通用的定时器进行定时:定时计数器(Timer Counter, TC). TC提供了广泛的功能,主要可以分为对输入的测量,以及波形的输 ...

  10. ESXi 5.5 RTL9168E网卡驱动 找到网卡

    如果你对专业服务器的价格望而却步,恰巧又想在普通的PC上安装ESXi,恰巧又是ESXi 5.5版本,那么这篇文章中提及的问题你可能会遇到,并能给你提供一些帮助. 1.成功安装重启以后提示“no boo ...