• [阻塞和非阻塞]


    [阻塞和非阻塞]
    在通过socket发送数据时,如果直到数据发送完毕才返回的方式,也就是说如果我们使用send( buffer, 100.....)这样的函数发送100个字节给别人,我们要等待,直到100个自己发送完毕,程序才往下走,这样就是阻塞的,
    而非阻塞的方式,当你调用send(buffer,100....)以后,立即返回,此时send函数告诉你发送成功,并不意味着数据已经向目的地发送完毕,甚至有可能数据还没有开始发送,只被保留在系统的缓冲里面,等待被发送,但是你可以认为数据在若干时间后,一定会被目的地完整正确的收到,我们要充分的相信tcp。
    阻塞的方式会引起系统的停顿,一般网络游戏里面使用的都是非阻塞的方式,

    [tcp和udp]
    tcp可以理解为一条连接两个端子的隧道,提供可靠的数据传输服务,
    只要发送信息的一方成功的调用了tcp的发送函数发送一段数据,
    我们可以认为接收方在若干时间以后一定会接收到完整正确的数据,
    不需要去关心网络传输上的细节,
    而udp不保证这一点,
    对于网络游戏来说,tcp是普遍的选择。

  • 相关阅读:
    用Html+Js实现的“自动补全”功能
    利用js为table添加行
    Flex 当鼠标悬停在DataGrid某行上时用datatoolField显示当前行
    Flex中设置编译器参数
    Linux2 在Linux(CentOS)上配置SSH免登陆
    线程笔记
    I/O
    网络编程
    Linux基础
    进程间的通信
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/1708003.html
Copyright © 2020-2023  润新知