Advertisement

多线程并行基于C/S的基本通信框架及其实现

阅读量:

本例达成以下功能:
服务端接收由客户端传输过来的字符串信息,将其小写字母转换为大写形式后再反馈至客户端。
每当有新的客户端建立连接时,服务端主进程会为该客户端生成一个独立线程,用于执行相应的数据处理任务。

多线程并发服务端

复制代码
    /*server.c*/
    #include <stdio.h>
    #include <string.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <pthread.h>
    #include <sys/types.h>     
    #include <sys/socket.h>
    #include <unistd.h>
    
    #define BUFSIZE 666
    #define SERV_PORT 8888
    #define MAX 200 //本例线程最大个数设为200
    
    /*与服务端通信的客户端地址及通信文件描述符的信息结构*/
    struct s_info{
    struct sockaddr_in cliaddr;
    int connfd;
    };
    
    void *work(void *arg)
    {

全部评论 (0)

还没有任何评论哟~