在大学时候学过网络通信这一块,奈何已经还给老师,苍天饶过谁,该拾起来看看学学的还是要学,先简单了解了下这方面的知识,后续会继续通过看书来充实这方面的知识。

手机能够联网是手机底层实现了TCP/IP协议,可以使手机通过无线网建立TCP连接,TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在无差别的网络之上。
 
建立起一个TCP连接需要经过“三次握手”
第一次:客户端发送syn包到服务器,等待服务端确认。
第二次:服务端收到syn包,确认客户的syn,同时发送一个自己的syn,即syn+ack包
第三次:客户收到服务器的syn+ack包,向服务器发送确认包ack,此包发送完毕完成三次握手。
 
握手过程中传送的包里不含数据,三次握手完毕才开始正式传输数据,TCP连接一旦建立,在通信双方任何一方主动关闭连接之前,TCP连接将一直保持下去,断开需要四次握手。
 
TCP/IP协议族(OSI七层协议模型和TCP/IP四层模型)
 
从上往下:
应用层:应用层决定了向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类应用服务,FTP文件传输协议,DNS域名系统协议,HTTP协议也位于该层
 
传输层:提供处于网络连接中的两台计算机之间的数据传输。TCP传输控制协议和UDP用户数据报协议。
 
网络层:用来处理网络上流动的数据包。数据包是网络传输的数据单位。
 
数据链路层:用来处理连接网络的硬件部分,包括操作系统,硬件的设备驱动,网络适配器等等
 
 
Socket介绍:
又称套接字,应用程序通过套接字向网络发出请求或者应答网络请求。
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,它是网络通信中端点的抽象表示,包含网络通信必须的信息:连接使用的协议,本地主机的IP,本地进程的协议端口,远程主机的IP,远地进程的协议端口。
 
应用层与传输层进行数据通信的时候,TCP可能会遇到同时为多个应用程序提供并发服务的问题。多个TCP连接或者多个应用程序进程可能需要同一个TCP协议端口传输数据,为了区分这些TCP连接或者应用程序,应用层和传输层通过socket接口来区别。
 
建立socket连接至少需要一对套接字,客户端clientSocket,服务端的serverSocket。套接字之间的连接过程分为三步:
1.服务器监听
2.客户端请求
3.连接确认
 
常说的Socket实际上就是对TCP/IP协议的封装,socket本身并不是一个协议,只是一个调用接口

TCP/IP,HTTP,Socket初识的更多相关文章

  1. ios开发网络知识 TCP,IP,HTTP,SOCKET区别和联系

    TCP,IP,HTTP,SOCKET区别和联系 网络由下往上分为:        对应 物理层-- 数据链路层-- 网络层--                       IP协议 传输层--     ...

  2. Linux内核 TCP/IP、Socket参数调优

    Linux内核 TCP/IP.Socket参数调优 2014-06-06  Harrison....   阅 9611  转 165 转藏到我的图书馆   微信分享:   Doc1: /proc/sy ...

  3. TCP/IP、SOCKET、HTTP之间的联系与区别

    主要内容: 1.网络的七层协议 2.TCP/IP.SOCKET.HTTP简介 3.TCP连接.HTTP连接.Socket连接的区别 一.网络的七层协议 网络七层由下往上分别为物理层.数据链路层.网络层 ...

  4. 网络协议HTTP、TCP/IP、Socket

    网络协议HTTP.TCP/IP.Socket 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.  其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的 ...

  5. TCP/IP以及Socket聊天室带类库源码分享

    TCP/IP以及Socket聊天室带类库源码分享 最近遇到个设备,需要去和客户的软件做一个网络通信交互,一般的我们的上位机都是作为客户端来和设备通信的,这次要作为服务端来监听客户端,在这个背景下,我查 ...

  6. TCP/IP 和 Socket 的关系

    要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,w ...

  7. TCP/IP的Socket编程

    1. TCP/IP.UDP的基本概念 TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,他是一个工业标准的协议集, ...

  8. TCP,IP,HTTP,SOCKET区别和联系

    物理层-- 数据链路层-- 传输层--                       TCP协议 会话层-- 我 们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便 ...

  9. Mysql服务器相互作用的通讯协议包括TCP/IP,Socket,共享内存,命名管道

    MySQL实现了四种通信协议 TCP/IP协议,通常我们通过来连接MySQL,各种主要编程语言都是根据这个协议实现了连接模块 Unix Socket协议,这个通常我们登入MySQL服务器中使用这个协议 ...

随机推荐

  1. 洛谷——P2912 [USACO08OCT]牧场散步Pasture Walking(lca)

    题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures ...

  2. URAL - 1860 Fiborial

    Discription Consider a sequence F i that satisfies the following conditions:  Find the number of dif ...

  3. LightOj 1215 Finding LCM

    Discription LCM is an abbreviation used for Least Common Multiple in Mathematics. We say LCM (a, b, ...

  4. SG函数学习总结

    有点散乱, 将就着看吧. 首先是博弈论的基础, 即 N 和 P 两种状态: N 为必胜状态, P 为必败状态. 对于N, P两种状态, 则有 1. 没有任何合法操作的状态, P; 2. 可以移动到P局 ...

  5. 产品如何进行大屏数据可视化.md

    最近接到一个需求,需要给公司的竞赛平台面对省/校/竞赛进行大屏的可视化话数据展示,闲暇之余对自己最近的工作进行一些总结; 一.数据可视化的定义 数据可视化主要是关于数据_视觉表现形式的科学技术研究 - ...

  6. Hibernate注解详解

    一.实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entitypublic class Flightimplem ...

  7. iOS开发UI篇—懒载入

    iOS开发UI篇-懒载入 1.懒载入基本 懒载入--也称为延迟载入,即在须要的时候才载入(效率低,占用内存小).所谓懒载入,写的是其get方法. 注意:假设是懒载入的话则一定要注意先推断是否已经有了. ...

  8. Failure [INSTALL_FAILED_ALREADY_EXISTS]

    1.发生原因 做unity开发的同事说apk无法安装,要我帮忙看下,然后我通过命令adb install安装apk,出现此提示 2.解决过程 首先想到的仍然是安装包已存在的问题,结果使用清理类软件清理 ...

  9. Linux基础(2)- 用户、群组和权限

    一.用户.群组和权限 1)  新建用户natasha,uid为1100,gid为555,备注信息为“master” 2)  修改natasha用户的家目录为/Natasha 3)  查看用户信息配置文 ...

  10. SWIM接口及STM8烧录过程

    1. 硬件连接 SWIM接口只需要一根传输线,即可完成双向的传输.传输过程,都是由主控制端(host)发起,设备端然后做出反应.host端需要在一个总线上实现读和写,那就是说必须要同时接一个输出IO和 ...