Автор Тема: C++ socket recvfrom  (Прочитано 1296 раз)

Оффлайн vgevorgyan

  • Newbie
  • *
  • Сообщений: 24
    • ICQ клиент - 230839173
    • Просмотр профиля
C++ socket recvfrom
« : Сентябрь 17, 2008, 02:31:35 »
Ողջույն

Ուրեմն ես ուզում եմ բռնեմ NetFlow պակետները, որոնք ուղարկվում են fprobe ծրագրի կողմից:
fprobe-ը դրված է իմ լոկալ մեքենայի վրա, որը ուղարկում է պակետներ 127.0.0.1:2055-ին UDP պրոտոկոլով:
Ես գրել եմ ծրագիր, որը լսում է 2055 պորտը (UDP) և recvfrom-ի միջոցով ստանում եմ պակետները:
Ինչպես գիտեք recvfrom ֆուկցիան ստանում է բուֆերի նշիչը, որտեղ լցնում է պակետի ինֆորմացիան, երբ ես տպում եմ բուֆերը (printf("%c", buf) ) այն դատարկ է:

Ես փորձեցի տպել բուֆերը ըստ ելեմենտների՝
for(int i = 0; i < BUFSIZE; i++) {
    printf("%c", buf[i]);
}
ահա թե ինչ ստացա ես ելքում :
>��H��uvP�... և այլ

Ուրեմն, ինպե՞ս կարող եմ դեկոդ կամ չգիտեմ, ինչոր ուրիշ բան, անել պակետի տվյալները ստանալու համար։

Շնորհակալություն