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

目录

什么是套接字

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


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



●UDP


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容