码迷,mamicode.com
首页 > 其他好文 > 详细

流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较

时间:2018-08-15 14:52:46      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:个数   信号   接收   客户   数据包   发送   接受   出错   可靠   

1.流式套接字

使用这种套接字时,数据在客户端是顺序发送的,并且到达的顺序是一致的。比如你在客户端先发送1,再发送2,那么在服务器端的接收顺序是先接收到1,再接收到2,流式套接字是可靠的,是面向连接的;

2.数据报套接字

这种套接字是无连接的,数据是打包成数据包发送的,到达的顺序不一定与发送的顺序是一致的,并且数据不一定是可达的,并且接收到的数据还可能出错。

既然这样那为什么还要使用这种套接字呢?因为现每个使用udp的程序都有自己的对数据进行确认的协议。如TFTP协议规定了每收到一个消息比如, TFTP 协议定义了对于每一个发送出去的数据包,远程在接受到之后都要回送一个数据包告诉本地程序:    “我已经拿到了!(一  ”个 “ACK” 包)    。如果数据包发的送者在 5 秒内没有的得到回应,它就会重新发送这个数据包直到数据包接受者回送了 “ACK” 信号。这些知识对编写一个使用 UDP 协议的程序员来说是非常必要的。

流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较

标签:个数   信号   接收   客户   数据包   发送   接受   出错   可靠   

原文地址:https://www.cnblogs.com/givemelove/p/9481123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!