⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 类似apache2.0的多线程技术,目的在于解决网络服务器在并发客户数很大的情况下服务器进程分配(fork)而带来的效率瓶颈.
💻 C
字号:
#include <stdio.h>#include <sys/types.h>#include <string.h>#include <unistd.h>#include <signal.h>#include <time.h>#include <pthread.h>#include "network.h"void *func(void *args){    int fd;    char buf[32];    memset(buf, 0, 32);    while (1) {        fd = tcp_connect("localhost", 1231);        printf("connect \n");        read(fd, buf, sizeof(buf));        printf("read \n");        printf("buf = [%s]\n", buf);        close(fd);    }    return 0;}int main(){    pid_t pid;    pthread_t id;    time_t now;    int i = 0;    for (i = 0; i < 100; i++) {        pid = fork();        if (pid == 0) {            func(NULL);        } else if (pid > 0) {        } else {            printf("fork error\n");        }    }    while (1) {        sleep(15);    }    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -