Descritor de protocolo

Publicado por Enzo de Brito Ferber 29/12/2006

[ Hits: 6.308 ]

Homepage: http://www.maximasonorizacao.com.br

Download getserv.c




Programa que descreve e dá o nome do serviço se fornecida uma porta, ou dá a porta se fornecido o nome.

Usa as funções getopt(), getservbyname() e getservbyport() da biblioteca padrão do *nix.

  



Esconder código-fonte

#include <stdio.h>
#include <netdb.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
    struct servent *service;
    char *proto;
    if(argc != 3){
        fprintf(stderr, "Usage 1: %s -p <port>\n", argv[0]);
        fprintf(stderr, "Usage 2: %s -n <protocol_name>\n", argv[0]);
        exit(-1);
    }
    switch(getopt(argc, argv, "p:n:")){
        case 'p':
            service = getservbyport(htons(atoi(optarg)), NULL);
            printf("Service : %s\n", service->s_name);
            printf("Port    : %d\n", ntohs(service->s_port));
            printf("Protocol: %s\n", service->s_proto);
            return 0;
        case 'n':
            service = getservbyname(optarg, NULL);
            printf("Service : %s\n", service->s_name);
            printf("Port    : %d\n", ntohs(service->s_port));
            printf("Protocol: %s\n", service->s_proto);
            return 0;
    }
    return 0;
}
 

Scripts recomendados

Exemplo de Cliente e Servidor Usando Socket no Linux!

Cliente TCP/IP em C

[C - Socket] UDP SERVER

Exemplo de daemon em C

Socket em C/C++ - SERVER


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts