linux服务器编程
文章平均质量分 86
从零到1实践linux服务器编程
橡秄
我亦无他,唯手熟尔
展开
-
网络编程(四)TCP IO多路转接服务器编程(select)多线程
一,select多路转接服务器网络编程(三)TCP IO多路转接服务器编程(select)二,select多路转接服务器(多线程)前面介绍的select多路转接服务器已经可以实现处理多个客户端的服务器,为了进一步提高效率,我们还可以将上面的select多路转接服务器改写为多线程的形式。与前面普通的select多路转接服务器相比,要修改为多线程主要是要在主线程的while(1)的循环中做些处理:在select检测完读集合过后,1,如果检查到有监听文件描述符准备就绪,则开一个子线程让其去处理该次的连接原创 2022-04-01 20:59:02 · 1787 阅读 · 0 评论 -
网络编程(三)TCP IO多路转接服务器编程(select)
一,select知识引入前面已经介绍过了1)单线程的服务器,可以处理单个客户端与服务端的交流;2)多线程的服务器,可以处理多个客户端与服务端的交流。根据前面的知识,我们知道了如果想要处理多个客户端与服务器的交流的话可以使用多线程的技术,而这篇博客就来介绍一下处理多个客户端与服务器的交流的一个新的技术:IO多路复用——select方法。二,select基本概念2.1 select概念理解前先总结一下通信过程(便于后文理解select)1,listen()监听函数过后,服务器的ip与端口就会暴露在原创 2022-03-30 22:23:04 · 3106 阅读 · 0 评论 -
网络编程(二)TCP多线程服务器编程详解
注:这里多线程编程使用的是c++11标准里面的跨平台方法。前面已经介绍了单线程服务器编程的一个例子,为了实现一个服务器能够并发响应多个客户端的请求,这里引入多线程的方法:将原来的单线程服务器改造成多线程服务器只需要改动下面两个地方1,因为listen()监听函数过后,服务器的ip与端口就会暴露在网络中,网络中连接的各个客户端就可以连接该服务器,而所有的连接请求都会存储在监听文件描述符对应的读缓冲区中,每执行一次accept,就会从该监听文件描述符对应的读缓冲区中读取一个连接,因此,如果是多线程服务器,原创 2022-03-28 20:12:03 · 6360 阅读 · 0 评论 -
网络编程(一)TCP单进程服务器编程详解
一,单进程处理服务器1,基本概念想要学习socket网络编程的读者一定要首先学好计算机网络的理论知识,包括1)osi网络七层模型与ip四层模型2)套接字含义3)局域网通信过程4)广域网通信过程5)tcp,udp通信协议,在这两个协议中的数据封装,传输过程,传输中可能遇到的问题的处理(差错控制,拥塞控制)6)ip网络层协议,以太网帧协议7)数据的封装以上的知识点是个人觉得学习计算机网络必须要理解透彻的一些知识点,接下来要介绍的socket网络编程便是基于以上知识点学习的。socket网络原创 2022-03-28 02:04:23 · 4993 阅读 · 0 评论