zoukankan      html  css  js  c++  java
  • tcp和udp

    多网卡
    1 机器跨网段
    2 网卡绑定

    TCP和UDP

    tcp基于链接通信
    1 基于链接,则需要listen(backlog),指定连接池的大小
    2 基于链接,必须先运行服务端,然后客户端发起链接请求
    3 对于mac系统:如果一端断开了链接,那另外一端的链接也跟着完蛋recv将不会阻塞,收到的是空(解决方法是:服务端在收消息后加上if,空消息就break掉通信循环)
    4 对于windows/linux系统:如果一端断开了链接,那另外一端的链接也跟着完蛋recv将不会阻塞,收到的是空,异常(解决方法是:服务端通信循环内加异常处理)

    udp无链接
    1 无链接,因而无需listen(backlog),更加没有连接池之说了
    2 无链接,udp的sendto不用管是否有一个正在运行的服务端,可以己端一个劲的发消息,只不过消息丢失
    3 recvfrom收的数据小于sendto发送的数据时,在mac和linux系统上数据直接丢失,在windows系统上发送的比接收的大直接报错
    4 只有sendto发送数据没有recvfrom收数据,数据丢失

  • 相关阅读:
    自己编译GCC(compile gcc from source)
    sphinx PDF 中文
    rst2pdf 中文
    Pandoc PDF 中文
    Linux XMind
    asp.net 邮件发送类
    asp.net 音乐播放器
    使用X-UA-Compatible来设置IE浏览器兼容模式
    asp.net(c#)网页跳转七种方法小结
    C#中HashTable的用法
  • 原文地址:https://www.cnblogs.com/yx179971/p/7153066.html
Copyright © 2011-2022 走看看