设为首页 加入收藏

TOP

Linux下一个单进程并发服务器的实例 使用select(二)
2014-11-24 07:29:20 来源: 作者: 【 】 浏览:4
Tags:Linux 一个 进程 并发 服务器 实例 使用 select
s_cli(&client[i], recvbuf, n); //接收到客户数据,开始处理
if (--nready <= 0)
break; //如果没有新客户端有数据,跳出for循环回到while循环
}
}
}
close(listenfd); //关闭服务器监听socket
}


void process_cli(CLIENT *client, char* recvbuf, int len)
{
char sendbuf[MAXDATASIZE];


recvbuf[len-1] = '\0';
if (strlen(client->name) == 0) {
memcpy(client->name,recvbuf, len);
printf("Client's name is %s.\n",client->name);
return;
}


printf("Received client( %s ) message: %s\n",client->name, recvbuf);
savedata(recvbuf,len, client->data);
for (int i1 = 0; i1 < len - 1; i1++) {
sendbuf[i1] = recvbuf[len - i1 -2];
}
sendbuf[len - 1] = '\0';


send(client->fd,sendbuf,strlen(sendbuf),0);
}


void savedata(char* recvbuf, int len, char* data)
{
int start = strlen(data);
for (int i = 0; i < len; i++) {
data[start + i] = recvbuf[i];
}
}


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 2.6内核Epoll用法举例说明 下一篇Linux shell的优点和缺点

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)