socket简单整理

先说一些概念知识:

网络上的请求就是通过Socket来建立连接然后互相通信,访问ip地址(网络上主机设备的唯一标识)

端口号:(定位程序)用于标示进程的逻辑地址,不同进程的标示

有效端口:0~65535,其中0~1024由系统使用或者保留端口,开发中建议使用1024以上的端口

传输协议(用什么样的方式进行交互)通讯的规则,常见协议:TCP、UDP

http:超文本传输协议,它的底层就是通过socket建立连接通信管道,他属于socket层上协议,属于应用层的协议,格式类似于json,有content-type,body等。

XMPP协议:即时通讯协议,同http一样属于应用层协议,格式为xml,环信就是基于xmpp进行的二次开发。

在这里附上tcp和udp的概念

TCP(传输控制协议)

建立连接,形成传输数据的通道

在连接中进行大数据传输(数据不受限制)

通过三次握手完成连接,是可靠协议,安全送达

必须建立连接,效率会稍低

UDP(用户数据报协议)

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

每个数据报的大小限制在64K之内

因为无需连接,因此是不可靠协议

不需要建立连接,速度快

tcp和udp都属于传输层协议,他和http、xmpp等的区别在于,tcp和udp是描述该协议的传输方式,比如是否要建立连接等,而http则表示在该协议下进行数据传送时的数据格式。

那么什么是socket,所谓socket就是套接字,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。

通信管道建立的时候也就是socket连接的时候。

下面这张就是TCP协议下的整个流程图,

首先由客户端发起请求,服务端会时刻处于监听状态,当客户端将请求发送到服务端时,服务端将判断该请求是否正常,若请求正常则会建立连接,开启数据传输,具体可以参阅上图。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大学学习网络基础的时候老师讲过,网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初...
    西门丨不吹雪阅读 5,741评论 0 18
  • 网络概念第一天 两台电脑怎么通过网络传输数据?怎样才能知道传输的是数据?谁摸过网线? 看电影,怎么看的?通过电流,...
    小吖朱阅读 5,466评论 0 1
  • 1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...
    F麦子阅读 7,791评论 0 25
  • 1.TCP报头格式 UDP报头格式 TCP报头格式 UDP报头格式 具体的各部分解释看 TCP报文格式详解 - ...
    杰伦哎呦哎呦阅读 7,290评论 0 5
  • 在孩子三岁时,面对孩子经常生病的状况,我终于“醒悟”过来,给他换到儿童医院去看病,虽然受到了先生的再三反对,(...
    爱幻想qm阅读 2,361评论 0 4