Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2009, 14:55   #1
irikin
Новичок
Джуниор
 
Регистрация: 22.07.2009
Сообщений: 2
По умолчанию С++. Работа с ТСР

здравстввуйте! с++. проблема такая: создание протоколов. необходимо создать список структур, в каждой структуре - соответствующий порт, для каждого утройства , подключения. уже есть список подключаемых устройств. применяются шаблоны. подключение по TCP. хоть как примерно подскажите, каким образом создать структуру, соответсвующую каждому каналу. я в растерянности. а потом надо будет создать цикл,в котором будет осущетсвляться подключение по этим портам.
irikin вне форума Ответить с цитированием
Старый 22.07.2009, 15:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Порты это же числа.
Вот и создай структуру с полем число и полем идентификатором устройства или его названием...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2010, 15:15   #3
irikin
Новичок
Джуниор
 
Регистрация: 22.07.2009
Сообщений: 2
По умолчанию

о сокетах.с++.
есть функция А(). из нее заходим в функцию В(), где описан весь процесс с функциями socket, bind(),Listen(), accept().и по прохождении функции В() - возвращаемся в функцию А().
проблема: если я из функции А()( F10(дебаг)) захожу в функцию В()(F11) и возвращаюсь в А(), то без ошибок и accept() проходит удачно. если же я не захожу F11 в В(), и продолжаю дальше дебажить - то он выдает ошибку -1 от функции accept().
можете объяснить почему так происходит?
irikin вне форума Ответить с цитированием
Старый 14.07.2010, 10:35   #4
Teksa
Пользователь
 
Регистрация: 24.08.2007
Сообщений: 88
По умолчанию

WSAGetLastError посмотри
if (accept(...)==-1)
printf("accept error %d",WSAGetLastError () );
Teksa вне форума Ответить с цитированием
Старый 14.07.2010, 10:44   #5
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

irikin если ты используешь неблокирующие сокеты то все верно. Не происходит блокировки при ожидании соединения с клиентом. Советую почитать Фленов М.Е. "Программирование на C++ глазами хакера" про блокирующие и неблокирующие сокеты.
profi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Как реализовать соединение с удаленным компом по ТСР lordok Работа с сетью в Delphi 13 21.04.2009 16:34