<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Learning & Researching]]></title><description><![CDATA[c/c++,network]]></description><link>https://blog.youkuaiyun.com/sim</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sim]]></copyright><item><title><![CDATA[主文件分析jabber.c]]></title><link>https://blog.youkuaiyun.com/sim/article/details/541522</link><guid>https://blog.youkuaiyun.com/sim/article/details/541522</guid><author>sim</author><pubDate>Thu, 01 Dec 2005 20:29:00 +0800</pubDate><description><![CDATA[waiting ...]]></description><category></category></item><item><title><![CDATA[jabber中常用数据结构分析]]></title><link>https://blog.youkuaiyun.com/sim/article/details/541520</link><guid>https://blog.youkuaiyun.com/sim/article/details/541520</guid><author>sim</author><pubDate>Thu, 01 Dec 2005 20:28:00 +0800</pubDate><description><![CDATA[waiting....]]></description><category></category></item><item><title><![CDATA[多播实现]]></title><link>https://blog.youkuaiyun.com/sim/article/details/531666</link><guid>https://blog.youkuaiyun.com/sim/article/details/531666</guid><author>sim</author><pubDate>Thu, 17 Nov 2005 16:10:00 +0800</pubDate><description><![CDATA[waiting....]]></description><category></category></item><item><title><![CDATA[shutdown and close differences]]></title><link>https://blog.youkuaiyun.com/sim/article/details/531665</link><guid>https://blog.youkuaiyun.com/sim/article/details/531665</guid><author>sim</author><pubDate>Thu, 17 Nov 2005 16:09:00 +0800</pubDate><description><![CDATA[shutdown可以关闭数据传输的单方向（读或写），而close关闭数据传输的两个方向（读和写）。shutdown引发正常的终止序列(FIN)，而close只减少描述字的计数，在计数为0时内核才关闭描述字。]]></description><category></category></item><item><title><![CDATA[c陷阱与缺陷 学习笔记]]></title><link>https://blog.youkuaiyun.com/sim/article/details/530035</link><guid>https://blog.youkuaiyun.com/sim/article/details/530035</guid><author>sim</author><pubDate>Tue, 15 Nov 2005 16:18:00 +0800</pubDate><description><![CDATA[对于一些简单的1错误将不列举，这些应该是必须掌握的。1．词法缺陷编译器第一部分是词法分析器。这里进行2次划分标记(token)。一次划分的目的是为了宏扩展；二是将进行宏替换的程序划分标记(token)；错误1：=不是==，&和|不是&&和||错误2：多字符记号y=x/*p /*p指向除数*/ （错误）良好的程序书写习惯也是避免这种错误的方法之一，可以写成y = x / p。在中间加几个空格来划分标]]></description><category></category></item><item><title><![CDATA[mss and mtu relations]]></title><link>https://blog.youkuaiyun.com/sim/article/details/527118</link><guid>https://blog.youkuaiyun.com/sim/article/details/527118</guid><author>sim</author><pubDate>Thu, 10 Nov 2005 21:46:00 +0800</pubDate><description><![CDATA[mss是应用层和传输层的消息分节的大小。mtu是传输层和链路层最大传输单元关系：mss = mtu - tcp_hdr - ip_hdr (ip_hdr可以是ipv4的20字节，也可以是ipv6的40字节)以太网的mtu为1500字节，所以对于ipv4 mss = 1500 - 20 - 20 =1460，对于ipv6 mss = 1500 - 20 -40 =1440]]></description><category></category></item><item><title><![CDATA[字节流边界的确定方法]]></title><link>https://blog.youkuaiyun.com/sim/article/details/522626</link><guid>https://blog.youkuaiyun.com/sim/article/details/522626</guid><author>sim</author><pubDate>Fri, 04 Nov 2005 13:49:00 +0800</pubDate><description><![CDATA[我们知道TCP是一个面向字节流的，当通过其传输数据时必须确定字节流的边界以区分不同的数据记录。常用方法：1.带内特殊终止符常用的方法是使用回车符和换行符(CR+LF)来分隔每一记录，这种方法需要做转义处理，扫描整个数据寻找每个记录的位置。典型应用是ftp,smtp,http。2.显式长度每个记录前加长度前缀用来表示记录的长度。举例：#define MAX_MESG_DATA (1024 - 2*s]]></description><category></category></item><item><title><![CDATA[自定义类型命名中_s,_t后缀的解释]]></title><link>https://blog.youkuaiyun.com/sim/article/details/522607</link><guid>https://blog.youkuaiyun.com/sim/article/details/522607</guid><author>sim</author><pubDate>Fri, 04 Nov 2005 13:39:00 +0800</pubDate><description><![CDATA[在阅读linux内核的过程中，经常会碰到自定义类型，如：typedef struct aa_s{...};起初看时有点不明白_s和_t的区别，直到前几天才恍然大悟。按照我的理解：_s后缀应该是表示struct（一个结构体）的意思。_t后缀应该是表示一个type(一个类型)。下面举个例子:struct record_s{    int a;    int b;};typedef struct rec]]></description><category></category></item></channel></rss>