2013-03-15 3 views
2

Мне нужно подключиться к порту 500 и распечатать данные, которые поступают. Может ли кто-нибудь указать мне в правильном направлении? Может быть, пример программы ..Прослушивание порта UDP

пропускал часть .. используя повысить ASIO ..

я использовал C/C++ с помощью следующего кода:

int z; 
    struct sockaddr_in portList; 
    int len_inet; 
    int s; 
    char dgram[512]; 
    time_t td; 
    struct tm tm; 
    s = socket(AF_INET,SOCK_DGRAM,0); 
    if (s == -1) { 
    strerror(errno); 
    } 
    memset(&portList,0,sizeof portList); 
    portList.sin_family = AF_INET; 
    portList.sin_port = htons(500); 
    portList.sin_addr.s_addr = inet_addr("127.0.0.1"); 

    if (portList.sin_addr.s_addr == INADDR_NONE) { 
    strerror(errno); 
    } 
    len_inet = sizeof portList; 

    z = bind(s, (struct sockaddr *)&portList, len_inet); 
    if (z == -1) { 
    strerror(errno); 
    } 

    for (;;) { 
    z = recv(s, dgram, sizeof dgram, 0); 
    if (z < 0) { 
     strerror(errno); 
    } 
    std::cout << dgram << std::endl; 
    } 

Но все это я получаю значения для мусора, как :

����҉ 

Что я делал неправильно?

+4

Google "C++ УДП учебник"? – NPE

+3

[Что вы пытались?] (Http://mattgemmell.com/2008/12/08/what-have-you-tried/) Также обратите внимание, что порты ниже 1024 являются привилегированными, и вам может понадобиться запустить вашу программу как администратор или корень. –

+1

Добро пожаловать! Пожалуйста, уделите пару минут, чтобы прочитать [faq] (http://stackoverflow.com/faq). Если вы прочитаете все это, вы получите значок (c: –

ответ

-4

Посмотрите на руководство Beej к разъему программирования

http://beej.us/guide/bgnet/

+2

[Только ссылки] (http://meta.stackexchange.com/a/8259/148504) считаются плохими. dd некоторые подробности? –

+1

@ Pradheep, Это смешной ответ. Вы говорите ему, чтобы он прочитал всю сетевую книгу? раздел и актуальность вопроса? – enthusiasticgeek

+0

@enthusiasticgeek я дал ответ, когда вопрос, который он задал, был более открытым. если я правильно помню, как я должен писать udp-сервер для прослушивания на порту 500. Так что простой ответ заключался в ссылке на руководство. он код был добавлен позже. Предложение «быть любопытным не осуждающим» – Pradheep

Смежные вопросы