![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器学习
文章平均质量分 77
徐行110
这个作者很懒,什么都没留下…
展开
-
服务器开发问题-EPOLLIN、EPOLLOUT触发情况
初始连接完成当你使用非阻塞模式调用函数来连接远程主机,如果返回并且 是 ,这意味着连接正在进行中。此时,可以通过监视 事件来检测连接何时完成。当连接完成时,套接字会触发 事件。写缓冲区可用在非阻塞套接字上,如果你之前的 操作因为写缓冲区已满( 或 错误)而无法完成,你可以监视 事件。当缓冲区有空间可写时, 事件会被触发,这时你可以继续写数据。客户端主动断开连接客户端意外断开连接服务器发送数据时发现连接关闭:注意事项EPOLLOUT 触发频率:EPOLLOUT 事件非常频繁地触发,因为只要有可用的写原创 2024-07-07 17:12:43 · 302 阅读 · 0 评论 -
服务开发问题-条件变量、锁、信号量
锁信号量条件变量定义用于控制对共享资源的独占用于控制对共享资源的访问数量用于在特定条件满足时通知等待的线程特点阻塞其他试图访问同一资源的线程计数器机制,限制并发访问线程可以等待条件并在条件满足时被唤醒;必须与锁配合使用使用使用sem_wait和sem_post控制访问注意事项型号量是有记录功能的。可以先post()使信号量值+1,之后再wait()条件变量没有记录值的功能。如果先signal()再wait()是没用的。wait()是把当前线程放入阻塞队列。原创 2024-07-07 00:01:15 · 237 阅读 · 0 评论 -
服务器开发-ET,LT模式
关于LT,ET模式在服务器开发的使用原创 2024-06-13 21:21:54 · 377 阅读 · 0 评论 -
服务器开发——setsockopt函数
*** level:选项所在的协议层。例如,SOL_SOCKET 表示套接字层,IPPROTO_TCP 或 IPPROTO_IP 表示 TCP 或 IP 层。* optname:要设置的选项的名称。每个协议层都定义了自己的一组选项。* optval:指向一个变量的指针,该变量包含选项的新值。这个变量的类型取决于 optname 的值。* @return 成功(0);原创 2024-06-03 22:44:08 · 321 阅读 · 0 评论 -
数据完整性保证
在计算机项目开发中,数据的完整性和持久性是至关重要的。比如:在多进同时对日志文件进行写入的时候,如何避免日志信息的混乱,进程A写入的信息被进程B写入的信息覆盖。以及在电脑断电的情况下,尽力避免数据的丢失。原创 2024-05-28 18:47:02 · 878 阅读 · 0 评论 -
信号-sigset_t,sigaction
是一个结构体,用于指定当特定信号到达时应该如何处理它。这个结构体允许用户定义一个信号处理函数,以及在调用信号处理函数期间需要阻塞的信号集。它提供了比传统的signal()函数更多的控制和灵活性。这是指向信号处理函数的指针。该函数的类型为,其中signum是被捕获信号的编号。可以设置为SIG_IGN忽略信号,或SIG_DFL使用默认的信号处理方式。这是另一种信号处理函数的指针,类型为。与sa_handler不同,提供了更多的信息,例如信号的额外数据(通过siginfo_t。原创 2024-05-26 16:46:31 · 462 阅读 · 0 评论