Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

утилита Ping - не могу отлинковать исходник

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
kambi
Гость





СообщениеДобавлено: Вс Июл 11 2004 13:58    Заголовок сообщения: утилита Ping - не могу отлинковать исходник Ответить с цитатой

Помогите, с исходниками.
Нашел в одной из старых тем ссылку на исходник для утилиты ping
(http://www.tangentsoft.net/wskfaq/examples/rawping.html)

Взял её и создал у себя в C++Builder5.0 проект консольного приложения. Запустил. Все нормально компилится, а линкер выдает ошибку:
[Linker error] Unresolved external 'WSASocketA' referenced from C:\My Projects\Console Ping\rawping.obj
Что у меня не так? Пробовал запускать и на Win2000Server, и на WinXp Professional. Может на этх виндах не пашут некоторые модули?
Вернуться к началу
kambi
Гость





СообщениеДобавлено: Вт Июл 13 2004 09:43    Заголовок сообщения: Ответить с цитатой

Так что, я не дождусь ответа? Людиии!!!...
Я уверен, что на этом форуме много хороших программеров, так почему они не могут помочь в таком вроде простом (но не для меня) вопросе? Возьмите, пожалуйста исходники (ссылку я дал) и проверьте, что надо сделать, чтобы заработала прога.
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Июл 13 2004 09:54    Заголовок сообщения: Ответить с цитатой

Добавьте в Ваш проект библиотеку ws2_32.lib, которая находится в билдеровской директории ...\Lib
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kambi
Гость





СообщениеДобавлено: Вт Июл 13 2004 10:26    Заголовок сообщения: Ответить с цитатой

Andy_user писал(а):
Добавьте в Ваш проект библиотеку ws2_32.lib, которая находится в билдеровской директории ...\Lib

Спасибо, но как это мне сделать? Где это добавить? Извините за возможно примитивные вопорсыSmile. Чувствую наверное скоро эта прога заработает Wink
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Июл 13 2004 11:14    Заголовок сообщения: Ответить с цитатой

Добавить:
Project -> Add to project
Выбрать тип файла (.lib) и директорию, откуда добавить. Найти файл ws2_32.lib. Нажать Open.
---
Проверить:
View -> Project Manager
---
На будущее:
Help -> C++ Builder Help -> Find
Вставить строку поиска
"add to project libraries linking"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






СообщениеДобавлено: Вт Июл 13 2004 11:37    Заголовок сообщения: Ответить с цитатой

Большой тебе фенкс, Andy_User. Просто я предполагал, что все необходимые библиотеки Билдер сам подключит Smile.
Вернуться к началу
совсем незнакомый



Зарегистрирован: 24.12.2003
Сообщения: 183
Откуда: Israel

СообщениеДобавлено: Вт Июл 13 2004 12:47    Заголовок сообщения: Ответить с цитатой

не знаком с билдером, но обычно среды разработки спрашивают о поддержке разл. библиотек в начале создания проекта.
(win32: Winsock, ATL, MFC, WTL etc., *nix: pthreads, QT, GTK, etc.)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kambi
Гость





СообщениеДобавлено: Вт Июл 13 2004 13:36    Заголовок сообщения: программка циклится при отсутствии ответа от узла Ответить с цитатой

Теперь уже другой вопрос Smile :
когда я с помощью этой утилиты пингую IP, которые по разным причинам не отвечают на запрос, программка циклится и всё, пока не Break-нешь не останавливается. Я думаю циклится вызов функции recvfrom в модуле rawping.cpp, так как он не получает ответа от пингуемого узла. Насколько я понял, это зависит от того блокируемый или неблокируемый сокет. Вобщем, как от этого избавится? Я не могу найти ответ в Хелпе, да и с английским не сильно дружу Smile.
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Июл 13 2004 13:53    Заголовок сообщения: Ответить с цитатой

А как Вы хотите, чтобы Ваша программка поступала в случае, если ответ на пинг не приходит ?
Раз Вы начинаете познавать сетевое программировние, я рискну предложить сразу же знакомиться с многопотоковыми программами.
Один основной поток занимается вводом-выводом (интерфейс с оператором).
Второй поток занимается поддержкой очереди временных интервалов.
Третий поток - рабочий, в зависимости от команд оператора или от ситуации, складывающейся в программе, выполняет разные функции.
Естественно, сразу надо задумываться о взаимодействии этих потоков (критические секции, семафоры, мьютексы и т.д.) и глобальные списки для передачи информации между потоками.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kambi
Гость





СообщениеДобавлено: Вт Июл 13 2004 15:40    Заголовок сообщения: Ответить с цитатой

Andy_user писал(а):
А как Вы хотите, чтобы Ваша программка поступала в случае, если ответ на пинг не приходит ?

Я хочу написать прогу, которая бы автоматически проверяла работоспособность несколких каналов интернет и в случае отсутсвия канала переключала определенные потоки(маршруты) на другой канал (ну и всякие свои прибамбасы Smile).
Пока пишу что-то вроде подпрограммки, которая бы определяла наличие потерь пакетов на определеные IP. А дальше придумаю как обрабатывать это событие. Т.е. пока мне нужно научиьтся выполнять примитивную вещь - пустить пинг и определить есть потеря этого пакета или нет (в случае если пакет все же вернулся определить задержку).
Цитата:

Раз Вы начинаете познавать сетевое программировние, я рискну предложить сразу же знакомиться с многопотоковыми программами.

Сетевое программирование познаю по необходимости, но может быть это меня и затянет Smile. На счет предложения освоения многопоточности - это конечно хорошо её познавать и может быть я за это возьмусь в скором будущем. Но как мою подпрограммку сейчас без неё реализовать? Question
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Июл 13 2004 16:20    Заголовок сообщения: Ответить с цитатой

Посмотрите функцию select. В билдере приличный хелп по ней.
Воспользуйтесь этой функцией до того, как будете читать информацию из сокета.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kambi
Гость





СообщениеДобавлено: Ср Июл 14 2004 19:35    Заголовок сообщения: Ответить с цитатой

Andy_user писал(а):
Посмотрите функцию select. В билдере приличный хелп по ней.
Воспользуйтесь этой функцией до того, как будете читать информацию из сокета.

Спасибо ещё раз, Andy_user. Функция select действительно помогла, пинги идут, потери определяю (по истечении задананного timeout-а).
Так, будем программить дальше... Cool
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...