如何用C在Linux下监听多个端口

 我来答
最柔人天忆16
2017-12-07 · TA获得超过1935个赞
知道小有建树答主
回答量:2.1万
采纳率:33%
帮助的人:1361万
展开全部
* File: main.c
* Author: root
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdbool.h>
#include "Utility.h"
//多路复用,一个server绑定多个端口,处理多个服务
int main(int argc, char** argv) {
if(argc<3)
{ //参数验证
DieWithUserMessage("param","<timeout(sec.)> <port/service>...");
}
long timeout=atol(argv[1]);
int noPorts=argc-2;
int server_socks[noPorts];
int maxDescriptor=-1;
for(int port=0;port<noPorts;port++)
{
//后面的参数全部是端口,建立socket
server_socks[port]=SetupTCPServerSocket(argv[port+2]);
//选择最大的sock描述符
if(server_socks[port]>maxDescriptor)
maxDescriptor=server_socks[port];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式