Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прослушивание траффика, Как считывать траффик с echo-server'a? 
:(
    Опции темы
Timkin
  Дата 24.11.2005, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 30.8.2005
Где: Кёльн, Германия

Репутация: нет
Всего: нет



Привет всем!
Такая проблема, что имеется echo-server, который прослушивает некоторый порт. Если подключиться к нему при помощи Hyper Terminal'a, то на экран терминала будут выводиться вся информация по мере получения за счёт того, что Hyper Terminal принимает подтверждения сервера (echo). А как реализовать эту же функцию терминала в своём приложении?
Код приложения такой:
Код

void readDftTraffic() { // функция, пытающаяся читать траффик
  SOCKADDR_IN SockAddr;
  SockAddr.sin_port = htons(getServerPort("DFT"));
  SockAddr.sin_family = AF_INET;
  SockAddr.sin_addr.s_addr = inet_addr(getServerIP("DFT"));
  SOCKET Socket; 
  Socket = socket(AF_INET,SOCK_STREAM,0);
  if (Socket==INVALID_SOCKET) { 
    printf("Socket creation failed.\n");
    return;
  }
  u_long ul = 1U;
  ioctlsocket(Socket, FIONBIO, &ul);
  if (connect(Socket,(SOCKADDR *)(&SockAddr),sizeof(SockAddr))!=0) {
    printf("DFT refused connection.\n");
    closesocket(Socket);
    shutdown(Socket,NULL);
    return;
  }
  int RetVal;
  char buf[512];
  
// здесь должно быть что-то, что заставит прогу получать эхо с сервера   

  closesocket(Socket);
  shutdown(Socket,NULL);
}

void main(void) { // тут ничего интересного
  if (SetupServers()) { 
    WSADATA WsaDat;
    if (WSAStartup(MAKEWORD(1,1),&WsaDat)!=0) { 
      printf("WSA Initialization failed.\n"); 
      system("PAUSE");
      return;
    }
    printf("Trying to read traffic at %s:%d.\nPress any key to exit...\n", getServerIP("DFT"), getServerPort("DFT"));
    do {
      readDftTraffic();
    } while (!kbhit());
    WSACleanup();
  }
  return;
}

Подскажите, плиз, что нужно написать в закомментированной строке, чтобы прога приняла данные с эхо-сервера!! Нужно ли ему что-то отправлять? Что использовать, recv() или recvfrom() и как?
PM MAIL WWW ICQ   Вверх
Timkin
Дата 27.11.2005, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 30.8.2005
Где: Кёльн, Германия

Репутация: нет
Всего: нет



Спасибо, я разобрался.
PM MAIL WWW ICQ   Вверх
JoyEx
Дата 9.12.2005, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дядя
**


Профиль
Группа: Участник
Сообщений: 323
Регистрация: 21.6.2005
Где: Москва, РФ

Репутация: нет
Всего: 12



Цитата(Timkin @ 27.11.2005, 23:31)
Спасибо, я разобрался.

Пожалуйста! smile



--------------------
Если ты уже никого не боишься, значит ты самый страшный 
PM IM ICQ AOL YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.