Socket编程:套接字(Socket)概念

目录

Socket编程:套接字(Socket)概念_第1张图片

什么是套接字

套接字(Socket)是一种介于应用层与传输层之间的抽象层,使用Socket可以将应用程序添加到网络中,并可以与处于同一个网络中的其他应用程序进行数据通信。


Socket编程:套接字(Socket)概念_第2张图片

Socket的建立条件

Socket的建立条件有三个分别是:
(1)通信目的互联网地址
(2)使用的传输层协议(TCP或UDP)
(3)通信目的端口号

Socket类型

我们现在主要使用的是TCP/IP协议族,而TCP/IP协议族中的主要Socket类型为流套接字数据报套接字
●流套接字
○使用协议:使用TCP作为端对端的通信协议
○特点:
(1)面向连接;
(2)每一条TCP连接只能是点对点的(一对一);
(3)提供可靠交付的服务;
(4)提供全双工通信;
(5)面向字节流。
流套接字,就好像打电话,必须两端同时接通才能通话。
●数据报套接字
○使用协议:使用UDP作为端对端的通信协议
○特点:
(1)无连接;
(2)尽最大努力交付;
(3)面向报文;
(4)无拥塞控制;
(5)支持一对一、一对多、多对一和多对多的交互通信;
(6)首部开销小(只有四个字段:源端口、目的端口、长度、检验和)。
数据报套接字,就好像寄信,我往外寄出去了,但是对方收没收到我不知道。

Socket工作流程

●TCP


Socket编程:套接字(Socket)概念_第3张图片

●UDP


Socket编程:套接字(Socket)概念_第4张图片

你可能感兴趣的:(Socket编程:套接字(Socket)概念)