<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SDTyuan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SDTyuan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SDTyuan]]></copyright><item><title><![CDATA[MySQL数据库C语言API编程练习]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132718420</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132718420</guid><author>SDTyuan</author><pubDate>Wed, 06 Sep 2023 18:57:21 +0800</pubDate><description><![CDATA[【代码】MySQL数据库C语言API编程练习。]]></description><category></category></item><item><title><![CDATA[bufferevent示例]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132455411</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132455411</guid><author>SDTyuan</author><pubDate>Wed, 23 Aug 2023 16:44:49 +0800</pubDate><description><![CDATA[答案: 当服务器收到新的连接请求的时候, 会自动触发listener_cb回调函数, 该函数中有往bufferevent缓冲区中写入的操作(调用bufferevent_write), 接着又会触发写回调函数conn_writecb的执行, 这个回调函数中调用了bufferevent_free, 该函数能够释放bufferevent, 同时会关闭socket连接.问题：hello-world.c代码中当使用nc客户端测试的时候为什么nc收到hello world之后就立刻关闭了.]]></description><category></category></item><item><title><![CDATA[基于event实现的tcp服务器]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132451829</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132451829</guid><author>SDTyuan</author><pubDate>Wed, 23 Aug 2023 15:20:57 +0800</pubDate><description><![CDATA[可以进行如下的测试重现异常情况: 先后在终端A和B上执行nc 127.1 8888命令, 然后ctrl+c结束掉终端A上的nc命令, 再次进如到终端B上, 则会出现异常情况.(原因是由于connev是一个全局变量, 所以connev只能保留最后一次所赋的值, 当客户端退出后, 服务端会调用event_del(connev);若先结束终端B上的nc命令, 不会出现异常情况.在堆区开辟空间，利用event_new函数最后一个参数传递读事件。]]></description><category></category></item><item><title><![CDATA[常用socket函数封装及使用多进程和多线程实现服务器并发]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132313852</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132313852</guid><author>SDTyuan</author><pubDate>Wed, 16 Aug 2023 17:21:03 +0800</pubDate><description><![CDATA[注意：accept或者read函数是阻塞函数, 会被信号打断, 此时不应该视为一个错误。2.防止子进程在信号注册前退出，从而产生僵尸进程。注意：1.循环创建子进程最好循环回收，防止产生僵尸进程。>>> 主进程中对子进程进行回收。]]></description><category></category></item><item><title><![CDATA[数据结构----队列]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132312120</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132312120</guid><author>SDTyuan</author><pubDate>Wed, 16 Aug 2023 09:51:57 +0800</pubDate><description><![CDATA[前提：利用之前已经写好的动态数组实现队列的顺序存储，数组首地址做对头。三个源文件：动态数组的具体实现文件、队列的具体实现文件和测试文件。两个头文件：动态数组头文件和队列的头文件。]]></description><category></category></item><item><title><![CDATA[数据结构-----栈]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132194848</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132194848</guid><author>SDTyuan</author><pubDate>Thu, 10 Aug 2023 14:52:47 +0800</pubDate><description><![CDATA[几乎所有的编译器都具有检测括号是否匹配的能力，那么如何实现编译器中的符号成对检测？如下字符串：5+5*（6）+9/3*1）-（1+3（]]></description><category></category></item><item><title><![CDATA[数据结构----单向带头结点链表（含企业级）]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132183856</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132183856</guid><author>SDTyuan</author><pubDate>Wed, 09 Aug 2023 11:09:59 +0800</pubDate><description><![CDATA[【代码】数据结构----单向带头结点链表。]]></description><category></category></item><item><title><![CDATA[数据结构----动态数组]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/132183676</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/132183676</guid><author>SDTyuan</author><pubDate>Wed, 09 Aug 2023 11:05:52 +0800</pubDate><description><![CDATA[【代码】数据结构----动态数组。]]></description><category></category></item><item><title><![CDATA[Linux下基于C语言的TCP通信]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/129737439</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/129737439</guid><author>SDTyuan</author><pubDate>Thu, 23 Mar 2023 21:00:13 +0800</pubDate><description><![CDATA[【代码】Linux下基于C语言的TCP通信。]]></description><category></category></item><item><title><![CDATA[UDP组播（多播）程序示例]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/129677887</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/129677887</guid><author>SDTyuan</author><pubDate>Mon, 20 Mar 2023 22:15:39 +0800</pubDate><description><![CDATA[【代码】UDP组播（多播）程序示例。]]></description><category></category></item><item><title><![CDATA[UDP广播程序示例]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/129620534</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/129620534</guid><author>SDTyuan</author><pubDate>Fri, 17 Mar 2023 14:46:44 +0800</pubDate><description><![CDATA[【代码】UDP广播程序示例。]]></description><category></category></item><item><title><![CDATA[Linux下基于C语言的UDP通信程序（最基础版）]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/129468774</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/129468774</guid><author>SDTyuan</author><pubDate>Sat, 11 Mar 2023 21:06:18 +0800</pubDate><description><![CDATA[【代码】Linux下基于C语言的UDP通信程序（最基础版）]]></description><category></category></item><item><title><![CDATA[问题：打开VMware之后发现之前安装的系统不见了]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/129418669</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/129418669</guid><author>SDTyuan</author><pubDate>Thu, 09 Mar 2023 10:57:30 +0800</pubDate><description><![CDATA[打开VM之后发现之前安装的系统不见了]]></description><category></category></item><item><title><![CDATA[解决Visual Studio中“无法打开源文件”错误和移动程序文件夹后出错]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128820443</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128820443</guid><author>SDTyuan</author><pubDate>Tue, 31 Jan 2023 17:27:49 +0800</pubDate><description><![CDATA[解决Visual Studio中“无法打开源文件”错误和移动程序文件夹后出错]]></description><category></category></item><item><title><![CDATA[C语言基础：文件操作]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128396797</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128396797</guid><author>SDTyuan</author><pubDate>Sat, 24 Dec 2022 16:23:31 +0800</pubDate><description><![CDATA[C语言基础之文件操作]]></description><category></category></item><item><title><![CDATA[C语言基础：字符串函数和内存函数的介绍与模拟实现]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128253294</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128253294</guid><author>SDTyuan</author><pubDate>Fri, 09 Dec 2022 22:13:13 +0800</pubDate><description><![CDATA[C语言基础：字符串函数和内存函数的介绍与模拟实现]]></description><category></category></item><item><title><![CDATA[C语言基础：通讯录（动态内存版）]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128252658</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128252658</guid><author>SDTyuan</author><pubDate>Fri, 09 Dec 2022 14:39:35 +0800</pubDate><description><![CDATA[C语言实现通讯录（动态内存版）]]></description><category></category></item><item><title><![CDATA[C语言基础：判断大小端、动态内存开辟常见错误]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128236020</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128236020</guid><author>SDTyuan</author><pubDate>Thu, 08 Dec 2022 16:19:59 +0800</pubDate><description><![CDATA[C语言基础：判断大小端、动态内存开辟常见错误]]></description><category></category></item><item><title><![CDATA[在Windows10浏览器Edge上打开.md文件的方法]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128207871</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128207871</guid><author>SDTyuan</author><pubDate>Tue, 06 Dec 2022 18:17:31 +0800</pubDate><description><![CDATA[在Windows10浏览器Edge上打开.md文件的方法]]></description><category></category></item><item><title><![CDATA[C语言基础：简易版三子棋游戏和扫雷游戏]]></title><link>https://blog.youkuaiyun.com/SDTyuan/article/details/128193745</link><guid>https://blog.youkuaiyun.com/SDTyuan/article/details/128193745</guid><author>SDTyuan</author><pubDate>Mon, 05 Dec 2022 21:43:23 +0800</pubDate><description><![CDATA[C语言实现简易版三子棋游戏与扫雷游戏]]></description><category></category></item></channel></rss>