与进程相比较,线程有很多优点,如速度快,占用资源少,数据可以共享等。
使用线程的并发服务器与使用进程的服务器的主要过程是一致的。
本例在一个主处理程序中,接受客户端的连接,当客户端连接到来的时候,使用
pthread_create()函数建立一个线程进行客户端请求的处理,线程的处理函数叫做
handle_request(),它的输入参数是客户端连接的套接字描述符,在这个线程处理
函数中对用户的请求数据进行接收、分析、判断合法性,然后获得本机的时间值
并将时间发给客户端,线程在处理完客户端的请求后,关闭客户端的连接。其代码如下:
编译:
客户端代码:
编译:
先运行服务器:
再运行客户端: