Internet套接字(TCP、UDP)基础概念-创新互联

个人博客首页(点击查看详情)-- https://blog.51cto.com/11495268
个人微信公众号(点击查看详情)-- https://blog.51cto.com/11495268/2401194
    

成都创新互联服务项目包括新余网站建设、新余网站制作、新余网页制作以及新余网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,新余网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到新余省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1、简介

这个世界上有很多种套接字(socket)-- 如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等;Internet 套接字 是最具代表性的,也是最经典最常用的(我们日常中 提及套接字,指的都是 Internet 套接字);网络编程 肯定 离开 套接字 这个概念,本文 描述 Internet 套接字(TCP、UDP) 基础概念 相关 的基础概念
    

2、Internet 套接字

DARPA Internet 地址(Internet 套接字) 常用的套接字 主要有 流式套接字、数据报式套接字、原始套接字

  • 流式套接字(SOCK_STREAM) -- TCP
    • 提供面向连接的、可靠的传输服务,数据无差错,无重复的发送,且按发送顺序接收
  • 数据报式套接字(SOCK_DGRAM) -- UDP
    • 提供无连接服务,不提供无差错保证,数据可能丢失或者重复,并且接收顺序混乱
  • 原始套接字(SOCK_RAW)

3、流格式套接字(SOCK_STREAM)

3.1 概述

流格式套接字(Stream Sockets)也叫 "面向连接的套接字",在代 码中使用 SOCK_STREAM 表示;SOCK_STREAM 是一种可靠的、双向的通信数据流,数据可以准确无误地到达另一台计算机,如果损坏或丢失,重新发送
    

3.2 特点

  • 数据在传输过程中不会消失
  • 数据是按照顺序传输的
  • 数据的发送和接收不是同步的(也称 "不存在数据边界")
        

3.3 协议

SOCK_STREAM 使用了 TCP 协议(The Transmission Control Protocol,传输控制协议),TCP 协议会控制你的数据按照顺序到达并且没有错误

  • TCP 用来确保数据的正确性
  • IP(Internet Protocol,网络协议)用来控制数据如何从源头到达目的地,也就是常说的 "路由"
        

3.4 数据的发送/接收

发送端有自己的节奏,接收端也有自己的节奏,它们是不一致的(不管数据分几次传送过来,接收端只需要根据自己的要求读取,不用非得在数据到达时立即读取)
    

3.5 缓冲区

流格式套接字的内部有一个缓冲区(也就是字符数组),通过 socket 传输的数据将保存到这个缓冲区;接收端在收到数据后并不一定立即读取,只要数据不超过缓冲区的容量,接收端有可能在缓冲区被填满以后一次性地读取,也可能分成好几次读取
    

3.6 应用场景

浏览器所使用的 http 协议就基于面向连接的套接字,因为必须要确保数据准确无误,否则加载的 HTML 将无法解析
    

4、数据报式套接字(SOCK_DGRAM)

4.1 概述

数据报格式套接字(Datagram Sockets)也叫 "无连接的套接字",在代码中使用 SOCK_DGRAM 表示;计算机只管传输数据,不作数据校验,如果数据在传输中损坏,或者没有到达另一台计算机,是没有办法补救的(也就是说,数据错了就错了,自身无法重传)
    

4.2 特点

  • 强调快速传输而非传输顺序
  • 传输的数据可能丢失也可能损毁
  • 限制每次传输的数据大小
  • 数据的发送和接收是同步的(也称 "存在数据边界")
        

4.3 数据的发送/接收

"数据的发送和接收是同步的"(接收次数应该和发送次数相同)
    

4.4 协议

  • 它不使用 TCP 协议,而是使用 UDP 协议(User Datagram Protocol,用户数据报协议)
  • 数据报套接字也使用 IP 协议作路由
        

4.5 应用场景

QQ 视频聊天和语音聊天就使用 SOCK_DGRAM 来传输数据

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:Internet套接字(TCP、UDP)基础概念-创新互联
本文链接:http://scyanting.com/article/dcihjg.html