当前位置: 首页 > news >正文

极速在线网站网站做记录访客

极速在线网站,网站做记录访客,网盘资源免费观看,上饶建设局网站一、UDP用户数据报收发次数要对应;数据与数据之间有边界,多次调用收发时都是不同的数据报;接收方的数据大小>发送方的数据大小,如果接受方数据小了则会丢弃未读的部分,再次调用只会读下一包数据;二、服务…

一、UDP用户数据报

        收发次数要对应;

        数据与数据之间有边界,多次调用收发时都是不同的数据报;

        接收方的数据大小>=发送方的数据大小,如果接受方数据小了则会丢弃未读的部分,再次调用只会读下一包数据;

二、服务器/客户端模型

        1.c/s client/server

        服务器客户端模型:

        客户端是专用的;

        可以使用http等标准协议,也可以使用自定义协议;

        资源大部分都在cli里,只有必要的交互数据由客户端发;

        受到的限制较小,功能相对复杂;

        2.b/s browser/server

        浏览器客户端模型:

        客户端是通用的;

        用的是http;

        都是客户端发给服务器;

        在传输数据过程中受到http的限制,功能不复杂;

        3.p2p peer to peer

        一般是用于直播;

        服务器给传输数据,其他进度快的客户端也给传输数据,如果本客户端进度快也会传输数据给其他客户端;

三、TCP传输控制协议

        1.流式套接字,数据是连续的,有顺序的;

        可靠传输方式,有链路,有应答机制,如果发送没应答将自动重传;

        全双工通信,同一时刻既可以收又可以发,可以同时进行;

        双缓冲区,收发互不影响;

        2.三次握手:

        建立连接:

        客户端发送连接请求SYN;

        服务端发送连接请求SYN和ACK;

        客户端应答ACK建立连接;

        3.四次挥手

        断开连接:

        客户端发送断开请求FIN和ACK;

        服务器应答ACK;

        服务区发送断开请求FIN和ACK;

        客户端应答ACK;

        4.缓冲区大小64k,写得太快会写阻塞;

        5.socket

        #include <sys/types.h>          /* See NOTES */

        #include <sys/socket.h>

        int socket(int domain, int type, int protocol);

        type:SOCK_STREAM-流式套接字;

        6.地址127.0.0.1代表自己,但只能自己通自己;

        INADDR_ANY表示全监听,接收所有信息,可以被别人找到;

        7.listen

        把服务器调成可被链接的状态(监听状态);       

       #include <sys/types.h>          /* See NOTES */

       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

        backlog:同一时刻可以连接的最大个数,第backlog+1个直接被拒绝;

        8.accept

        阻塞直到有客户端连接;

        #include <sys/types.h>          /* See NOTES */

        #include <sys/socket.h>

        int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

        9.recv

        #include <sys/types.h>

        #include <sys/socket.h>

        ssize_t recv(int sockfd, void *buf, size_t len, int flags);

        10.send

        #include <sys/types.h>

        #include <sys/socket.h>

        ssize_t send(int sockfd, const void *buf, size_t len, int flags);

        11.connect

        客户端发出连接请求;

        #include <sys/types.h>          /* See NOTES */

        #include <sys/socket.h>

        int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

        12.tcp中通过套接字找到地址

        #include <sys/socket.h>

        int getpeername(int socket,struct sockaddr* addr,socklen_t  *addrlen)

        13.数据的粘包        

        发送方发啊送你数据,接收方无法解析数据。

        解决:设置边界(eg:\0);固定大小;自定义协议;

四、TCP和UDP的差别

        1.UDP无连接,需要写标识退出;

        TCP有链接,(三次握手四次挥手)整个通信过程都会保持连接;

        2.UDP不可靠,数据有丢包风险;

        TCP可靠,数据之间没有边界;

        3.UDP数据报,发送次数和接收次数需要对应,数据与数据之间有边界;

        TCP流式套接字,次数不必对应;

        4.UDP没有拥塞控制;

        TCP超时重传;

        5.广播、组播只能用UDP;

        6.首部开销小;

        7.TCP是全双工通信,有双缓冲区,而UDP只有一个缓冲区,某时刻要么收要么发;

http://www.dtcms.com/a/428704.html

相关文章:

  • 中医理论、学派
  • 网站开发有哪几种语言html5制作网页的步骤
  • Spring AI alibaba RAG知识库基础
  • 9. Spring AI 当中对应 MCP 的操作
  • 网站优化网络重庆网页设计培训学校
  • 便携设备的技术革新:在方寸之间创造无限可能
  • C++---悬垂引用(Dangling Reference)
  • 公司网站制作设计价格内部网站如何建设
  • 深圳手机网站公司深圳英文网站建设去哪家
  • 有关建筑网站建设方案怎么做宣传网站
  • AI与云协作加持:深度解析Chaos Vantage 3.0 颠覆性更新
  • 机器学习算法以及code实现
  • 怎样开自己的网站个人域名可以做网站吗
  • 如何理解“物以类聚,人以群分”?
  • 南通企业网站怎么建设wordpress不用邮箱
  • 企业网站做的好宁波网站制作建设
  • 广州商城网站建设地址wordpress首页不显示整篇文章
  • Tensor Core的MMA与WMMA
  • 大模型计算事实标准--CUDA
  • 网站导航页面模板网络与新媒体就业方向及前景
  • 公司网站 备案南通市建设监理协会网站
  • 洋县住房和城乡建设管理局网站网站中宣传彩页怎么做的
  • 网站群建设进展情况汇报郑州网站开发技术
  • C语言数据结构-堆
  • 网站建设开头营销型网站推广公司
  • 公考刷题资源合集
  • 网站建设与管理专业好找工作吗通辽网站建设
  • QCustomPlot 特定图表类型实战
  • python 将关键数据标注在png图片里
  • python加速方法 对比 numba numb.cuda triton pycuda cupy