
linux网络编程
文章平均质量分 80
JJDiaries
JJ diaries-still-always-forever
展开
-
Linux网络编程(三)
Linux网络编程(三) wait()还是waitpid() Linux网络编程(二)存在客户端断开连接后,服务器端存在大量僵尸进程。这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进程默认忽略了该信号。为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理。为此,我们在服务器程序中添加SIGCHLD信号处理函数。 代码如下:原创 2013-11-16 15:10:15 · 1136 阅读 · 0 评论 -
Linux网络编程(六)
网络编程中,使用多路IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用。 2.一个客户同时处理多个套接口。 3.一个tcp服务程序既要处理监听套接口,又要处理连接套接口,一般需要用到IO复用。 4.如果一个服务器既要处理TCP,又要处理UDP,一般也需要用到IO复用。 5.如果一个服务器要处理多个服务或者多个协议,一般需要用到IO复用。 linux提供原创 2013-11-16 15:10:54 · 1354 阅读 · 0 评论 -
Linux网络编程(二)
采用多进程的方式实现服务器的并发访问。 程序实现功能:1.客户端从标准输入读入一行文字,发送到服务器 2.服务器接收到客户端发来的文字后,原样返回给客户端 3.客户端接收到服务器的发来的文字后,输出到标准输出。 服务器端过程:建立好监听套接字后,等待客户端的连接,接收到一个连接后,创建一个子进程来与客户端进行原创 2013-10-30 08:29:18 · 1079 阅读 · 0 评论 -
linux网络编程(一)
一.概念介绍 网络程序分为服务端程序和客户端程序。服务端即提供服务的一方,客户端为请求服务的一方。但实际情况是有些程序的客户端、服务器端角色不是这么明显,即互为客户端和服务端。 我们编写网络程序时,一般是基于TCP协议或者UDP协议进行网络通信的。 TCP:(Transfer Control Protocol)传输控制协议是一种面向连接的协议, 当我们的网络程序使用这个协议的时候,网络可以保原创 2013-10-26 13:13:11 · 1018 阅读 · 0 评论 -
Linux网络编程(四)
在linux网络编程【1-3】中,我们编写的网络程序仅仅是为了了解网络编程的基本步骤,实际应用当中的网络程序并不会用那样的。实际网络程序多使用select、poll、epoll等多路IO复用。在进入主题之前,我们先来了解一下linux的IO模型。 现有的linux IO模型有5种:阻塞式IO模型,非阻塞式IO模型,IO复用模型,信号驱动式IO模型,异步IO模型。 关于阻塞、非阻塞、同步、异步,原创 2013-11-16 15:10:27 · 1601 阅读 · 0 评论 -
Linux网络编程(五)
/* Linux网络编程(五)——多路IO复用之select() 网络编程中,使用IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用。 2.一个客户同时处理多个套接口。 3.一个tcp服务程序既要处理监听套接口,又要处理连接套接口,一般需要用到IO复用。 4.如果一个服务器既要处理TCP,又要处理UDP,一般也需要用到IO复用。 5.如果一个服务器要处原创 2013-11-16 15:10:38 · 1233 阅读 · 0 评论