<?xml version="1.0" encoding="gbk"?>
<rss version="2.0">
  <channel>
    <title>曲径通幽论坛 - 『Linux Network Programming』</title>
    <link>http://www.groad.net/bbs/forum.php?mod=forumdisplay&amp;fid=71</link>
    <description>Latest 20 threads of 『Linux Network Programming』</description>
    <copyright>Copyright(C) 曲径通幽论坛</copyright>
    <generator>Discuz! Board by Comsenz Inc.</generator>
    <lastBuildDate>Fri, 10 Apr 2026 20:17:46 +0000</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>http://www.groad.net/bbs/static/image/common/logo_88_31.gif</url>
      <title>曲径通幽论坛</title>
      <link>http://www.groad.net/bbs/</link>
    </image>
    <item>
      <title>强制使用 IPv4</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=8894</link>
      <description><![CDATA[现在 curl 也是支持 IPv6 的，而查询某个域名时，IPv6 是优先的，所以你的主机如果没有什么 IPv6 地址，况且即使有，也没有环境给你路由的话，那获得结果的速度将慢如蜗牛。所以，可以用 CURLOPT_IPRESOLVE 这个选项来强制使用 IPv4 ，方法是：]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Mon, 13 Apr 2015 04:24:17 +0000</pubDate>
    </item>
    <item>
      <title>为什么将 INET6_ADDRSTRLEN 定义为 46</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=8867</link>
      <description><![CDATA[INET6_ADDRSTRLEN  这个值定义在 /usr/include/netinet/in.h 中有定义：


那么它为什么定义为 46 呢？

首先需要了解的是，这个值一般会和 inet_ntop() 函数一起使用的，它的这个 46 长度表示的是 IPv6 网络地址的可读化长度。总所周知，一个 IPv6 地址是 128 位 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Mon, 30 Mar 2015 08:18:45 +0000</pubDate>
    </item>
    <item>
      <title>connect() 返回的 EINPROGRESS 错误</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7526</link>
      <description><![CDATA[在以非阻塞方式 connect() 时，返回的结果如果是 -1 ，并且错误号为 EINPROGRESS ，那么表示连接还在进行并处理中(IN PROGRESS)，而不是真的发生了错误。
 
下面用一个实例来演示如何观察到返回 EINPROGRESS 的情况。
 
服务器端代码：
[mw_shl_code=cpp,true]#include  ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Sat, 01 Dec 2012 05:25:00 +0000</pubDate>
    </item>
    <item>
      <title>UNIX 域协议简介</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7525</link>
      <description><![CDATA[Unix 域协议并不是一个实际的协议族，而是在单个主机上执行客户/服务器通信的一种方法，也就是通常说的进程间的通信(IPC)。

Unix 域用于标识客户和服务器的协议地址是普通的文件系统中的路径名，而不像常见的 IPv4 所用的 32 位地址和一个端口号，或是 IPv6 所用的 128 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Tue, 27 Nov 2012 07:16:25 +0000</pubDate>
    </item>
    <item>
      <title>SIGPIPE 信号详解</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=7167</link>
      <description><![CDATA[如果在写入套接字时，读取端已经关闭，那么此时可以得到一个 SIGPIPE 信号，该信号默认情况下会终止当前进程。

例如，当服务器关闭时，而客户端还试图向套接字写入数据的时候会产生一个 SIGPIPE 信号，此时会造成客户端的非正常的退出，防止这种情况可以给客户端安装一 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Mon, 11 Jun 2012 12:27:30 +0000</pubDate>
    </item>
    <item>
      <title>curl 编程注意</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=3983</link>
      <description><![CDATA[在需要将数据保存到本地时，不能将文件流指针或者文件描述符定义在回调函数函数中，否则文件可以创建成功，但是写入内容时失败。其原因是，回调函数一般是在一检测到数据时就会触发调用，在接收完整的数据流过程中，它可能被调用多次。所以如果将文件流指针定义在回调函 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Mon, 04 Jul 2011 04:12:08 +0000</pubDate>
    </item>
    <item>
      <title>通告窗口 advertised window</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=3115</link>
      <description><![CDATA[在 TCP 传输中，TCP 总是告知对端在任何时刻它一次能够从对端接收多少字节的数据，这称为 “通告窗口” 。

在任何时候，“通告窗口” 指出接收缓冲区中当前的可用空间，从而保证发送端发过来的数据太多而导致接收端缓冲区溢出。可以将这个 “窗口” 认为是一个数组，当 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Tue, 01 Feb 2011 09:17:57 +0000</pubDate>
    </item>
    <item>
      <title>机器使用存储格式判别(大小端)</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=1730</link>
      <description><![CDATA[在 Linux 下，可以使用系统大小端宏来测试当前主机的字节顺序，如下示例：
[mw_shl_code=cpp,true]#include 
#include 

int main(void)
{
&#160;&#160;&#160;&#160;printf (\&quot;大端格式:\\t%d \\n小端格式:\\t%d \\n本身使用格式:\\t%d\\n\&quot;, __BIG_ENDIAN, __LITTLE_ENDIAN, __ ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Mon, 05 Apr 2010 12:13:31 +0000</pubDate>
    </item>
    <item>
      <title>struct sockaddr 定义</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=1701</link>
      <description><![CDATA[bind() 函数在 /usr/include/sys/socket.h 中是这样定义的：

 
看一下__SOCK_SOCKADDR_ARG 的定义(同样在  /usr/include/sys/socket.h 里)：
 
 
跟踪再看一下 strcut sockaddr 是怎么定义的，这个定义在 /usr/include/bits/socket.h 里



由上可见，sockaddr 结构体 ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Tue, 30 Mar 2010 14:13:37 +0000</pubDate>
    </item>
    <item>
      <title>套接字</title>
      <link>http://www.groad.net/bbs/forum.php?mod=viewthread&amp;tid=945</link>
      <description><![CDATA[一、套接字地址结构
在 linux/socket.h 中定义了一个通用的套接字地址：
 
成员 sa_family 表示套接字的协议族类型，对应于 TCP/IP 协议该值为 AF_INET; 
成员 sa_data 存储具体的协议地址。
sa_data 之所以定义为 14 字节，因为有的协议族使用较长的地址格式。

注意， ...]]></description>
      <category>『Linux Network Programming』</category>
      <author>beyes</author>
      <pubDate>Thu, 09 Jul 2009 15:42:26 +0000</pubDate>
    </item>
  </channel>
</rss>