jieao111 发表于 2012-11-27 17:12

问一个网路编程问题

一个udp程序
printf( "recv message from client...\n" );
    while(1)
    {
      slen = sizeof(sender);
      ret = recvfrom( server_sk, msg, sizeof(msg), 0, (struct sockaddr*)&sender, (socklen_t*)&slen );
      if( ret<= 0 )
      {
      }
         else

这个死循环不断等待recvfrom返回,,如果这个程序在else里的时候,下一条消息到达的话是不是就丢失了,,有缓冲区吗

wohuljl 发表于 2012-11-27 17:39

有缓冲区,在内核中有个buffer,但是有限制的,大小可以设置

linux_c_py_php 发表于 2012-11-27 19:43

会排队的, 队满了就被默默抛弃了.

cienet917 发表于 2012-11-28 09:06

没错,就是丢了         
页: [1]
查看完整版本: 问一个网路编程问题