}
while (1) {
retcode = QuerySocketsMsg(); /* 查询网络消息 */
if (SockMsg.AcceptNum == 1) { /* 有外来连接等待接收?*/
retcode = AcceptConnection(&sin_addr);
printf("retcode = %d, IP = %s \n", retcode, inet_ntoa(sin_addr.s_addr));
}
else if (SockMsg.AcceptNum == -1) /* 主套接字错误?*/
printf("Daemon Sockets error.\n");
for (i=0; i<SockMsg.ReadNum; i++) { /* 接收外来数据 */
if ((retcode = RecvPacket(SockMsg.ReadQueue, buf, 32)) >; 0)
printf("sockno %d Recv string = %s \n", SockMsg.ReadQueue, buf);
else /* 返回数据长度为零,指示连接中断,关闭套接字。*/
CloseConnection(SockMsg.ReadQueue);
}
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 分析 实例 原理 编程 #59 连接 进程 调用 服务器 一个 |
注册
个人空间
