博客专栏  >  架构   >  网络编程

网络编程

以《Linux高性能服务器编程》参考资料,介绍高性能服务器编程之精髓

关注
23 已关注
15篇博文
  • 定时事件

    当服务器遇见一些idle连接的时候需要及时处理它们以保证资源的充足性,需要定期检测连接是否处于活动状态。每个连接一个定期事件,事件可能非常多,因此需要将这些时间组织起来,这些事件在预期时间达到时触发某...

    2013-10-12 17:35
    1336
  • 内存共享实现聊天室程序

    聊天室程序中至少要求每个用户的发言能立即呈现给其它用户,为了提高效率,每个用户连接在服务端都对应一个子进程处理该用户连接。所有用户的发言数据记录在一个用户共享内存中,假设A用户发言了那么共享内存中某段...

    2013-10-14 23:53
    1656
  • 半同步/半异步进程池实现服务端程序

    半同步/半异步模式中一个主进程处理客户连接,其它子进程处理客户连接的具体逻辑。这里将实现一个线程池用于服务端处理客户连接,服务端一个主进程专门用于处理客户连接请求但是并不accept,而子进程专门用于...

    2013-10-17 23:48
    1438
  • 进程池实现客户端连接请求程序

    服务端通过进程池实现处理并发连接逻辑:服务端主进程先创建进程池(这里没有显示给出进程池类但是逻辑上是采用多个子进程模拟进程池),服务端监听端口若有连接请求则服务端将连接请求分发给子进程(简单的循环分发...

    2013-10-19 13:42
    1384
  • 基于半同步/半反应堆线程池实现的HTTP解析服务端程序

    简介:      半同步/半反应堆线程池是通过一个线程往工作队列添加任务T,然后工作线程竞争工作队列获得任务T。HTTP请求解析服务端程序:逐行解析客户端发送来的HTTP请求然后作出HTTP回答。采用...

    2013-10-19 17:19
    3044
  • 超时connect

    sock选项SO_SNDTIMEO和SO_RCVTIMEO可以用来发送和接收超时时间,对于设置了以上选项的socket描述符,connect具有超时连接功能即在指定的时间内为连接会返回-1并置errn...

    2013-10-10 14:00
    1423
  • 带外数据的接收与发送

    带外数据比普通数据具有更高的优先级,TCP没有真正的带外数据,而是提供了一个我们要讨论的紧急模式,TCP将数据放置在套机口发送缓冲区的下一个可用位置,并设置这个连接的TCP紧急指针(urgent ...

    2013-10-10 11:02
    2561
  • 统一事件源

    信号是一种异步事件,将其和IO事件统一起来交给主程序处理叫做统一事件源,一般方法是:信号处理函数将信号值写到管道一端,然后主程序采用IO复用技术监听管道读端,一旦可读事件发生那么主程序可以在事件处理逻...

    2013-10-10 09:43
    1977
  • IO复用高级应用:同时处理TCP和UDP服务

    一个socket只能与一个socket地址绑定即一个socket只能监听一个端口,服务器如果要同时监听多个端口就必须创建多个socket,若在同一个端口监听多个服务也要创建多个socket绑定到这个端...

    2013-10-09 15:03
    2605
  • 高级IO复用应用:聊天室程序

    简单的聊天室程序:客户端从标准输入输入数据后发送给服务端,服务端将用户发送来的数据转发给其它用户。这里采用IO复用poll技术。客户端采用了splice零拷贝。服务端采用了空间换时间(分配超大的用户数...

    2013-10-09 13:55
    1858
  • 非阻塞connect

    通常的socket描述符的阻塞式的,connect连接时可能出现长时间没有连接成功的情形,若将socket描述符设置为非阻塞,那么调用connect后三次握手还可能没有完全建立connect立即返回E...

    2013-10-09 10:45
    1632
  • select、poll、epoll三组IO复用

    int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,struct timeval* timeout)//其中n...

    2013-10-08 14:40
    1809
  • EPOLLONESHOT事件

    epoll模式中事件可能被触发多次,比如socket接收到数据交给一个线程处理数据,在数据没有处理完之前又有新数据达到触发了事件,另一个线程被激活获得该socket,从而产生多个线程操作同一socke...

    2013-10-08 11:19
    4429
  • epoll的LT和ET模式

    epoll是IO复用技术本身是阻塞模式,但是其能同时监听多个文件描述符因此能达到并发的效果,epoll的两种模式LT和ET 二者的差异在于level-trigger模式下只要某个socket处于re...

    2013-10-04 21:11
    1910
  • CGI原理

    服务端将标准输出关闭并理解调用dup复制该文件描述符到socket上,则客户端收到的是服务端的标准输出流 服务端程序: #include #include #include #include #inc...

    2013-09-28 22:01
    1407

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部