今天看啥  ›  专栏  ›  21ic电子网

手把手教你TCP server与多个client通信的方法(附代码)

21ic电子网  · 公众号  · 半导体  · 2022-08-04 14:28
在之前的文章《TCP常用应用接口的使用封装》中,我们分享了TCP通信的框图,并对常用的几个接口的使用进一步地封装。其demo中我们只是简单地实现“一对一”的收发,但在实际开发中,tcp server是要支持与多个client同时进行通信的。所以,今天分享“一对多”的收发,也即tcp server并发处理。tcp server实现并发的方式有两种:多进程、多线程。其中,多进程开销比较大、不常用,所以本文主要分享一下多线程的方法。简单的demo tcp_server.c:左右滑动查看全部代码>>>#include #include "tcp_socket.h"static pthread_t cli_data_proce_thread_tid;static void *process_client_data(void *arg){    int client_fd = *(int*)arg;    while (1)    {        char buf[128] = {0};                int recv_len = tcp_blocking_recv(client_fd, buf, sizeof(buf));        if (recv_len 0)      ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照