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

手机能够联网是手机底层实现了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. expect实现自动分发密钥、网站度量术语

    1.优化ssh命令 sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\n UseDNS no\nGSSAPIAu ...

  2. SQLServer 跟踪 扩展事件(Extended Events) 专家

    http://blog.csdn.net/kk185800961/article/details/49725903

  3. [转载]中情局数千份机密文档泄露:各种0day工具、恶意程序应有尽有

    转载:http://www.freebuf.com/news/128802.html 维基解密最近再度获取到了数千份文件——据说这些文件是来自CIA(中央情报局),文件细数了CIA所用的网络入侵工具及 ...

  4. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

  5. C语言-回溯例3

    排列问题 1.实现排列A(n,m)对指定的正整数m,n(约定1<m<=n),具体实现排列A(n,m).2. 回溯算法设计设置一维数组a,a(i)(i=1,2,…,m)在1—n中取值.首先从 ...

  6. RobotFramework --RIDE介绍

    RIDE是robotframework的图形操作前端,我们在RIDE上进行测试用例设计和编写测试脚本,并执行自动化测试.下面来全面的认识下这个操作工具. 在右边编辑页面有三大模块,Edit,TextE ...

  7. Jenkins Robot framework 持续集成环境搭建

    为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航.这其中有个重要的工具Jenkins,同时也是应群里朋友们的要求,这次就来介绍一下RF如何快速便捷的结合Je ...

  8. 2016年最值得新手程序猿阅读的书:《增长project师指南》

    这本书的来源于根据我在<Repractise简单介绍篇:Web开发的七天里>中所说的 Web 开发的七个步骤而展开的电子书.当然它也是一个 APP.它一本关于怎样成为增长project师的 ...

  9. cubietruck制作刷新lubuntu-kernel

    一:安装交叉编译工具链以及相应的工具(系统最好是ubutnu-64位-server) sudo apt-get install g++ sudo apt-get install libncurses5 ...

  10. Hadoop文档 索引

    Hadoop中文文档 http://hadoop.apache.org/docs/r1.0.4/cn/index.html Hadoop资料整理 http://www.itpub.net/thread ...