在以前的文章中,我们给出过UDP服务器和TCP服务器的例子,本文将把UDP服务器和TCP服务器合并成一个服务器,该服务器既可以提供UDP服务也可以提供TCP服务,本文将给出完整的源代码。
本示例一共有三个程序,tcp/udp服务器:tuserver.c,tcp客户端:tclient.c和udp客户端uclient.c
服务器端程序的基本思路是:在程序中为tcp服务和udp服务各建立一个socket,将这两个socket放入readfds中,并将参数传递给select(),当readfds中(也就是tcp或者udp socket)的某一个有数据发过来(udp)或者有客户端连接请求(时),select()将返回,程序判断是哪个socket需要处理然后根据需要进入TCP处理程序或者UDP处理程序处理socket事件;
本例中,服务器端做了简单化处理,收到客户端信息后,并不作处理,对TCP客户端,回应"Hello TCP Client",对UDP客户端,则回应"Hello UDP Client";
服务器端程序流程
上一篇:三种方法解决区间问题
下一篇:第3章 多层感知器