· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.NETWORKS —› Много разных вопросов.

Посл.отвђт Сообщенiе


Дата: Дек 11, 2003 17:09:15

Здравствуйте!
У меня возникло несколько
вопросов по работе в сети.
1) Как узнать, доступен ли
в настоящий момент компьютер,
зная его имя или IP? Просто я
пишу прогу, которая отправляет
сообщения а-ля net send и хочу
проверить, сможет ли комп получить
моё сообщение, т.е. находится ли он
в сети.
2)Не совсем в тему. Как получить
текст из мессге бокса, зная его
заголовок? Т.е. я хочу получить
текст того, что мне ответили.
(Служба сообщений).
Не пинайте за простой вопрос, просто
раньше не нужно было. ;-)
3)И ещё вопрос: а нет ли примера
использования NetMessageBufferSend.
Я прочёл всё что вы порекомендовали.
Спасибо Four-F и Asterix, g_g! но
не могу послать таким образом текст.
Помогите с решением или лучше с
исходником.
Прикол:
а вот реализация метода отпрвки, используя
CreateFile и \\имя компьютера\mail....
не получается, так как Norton видит в этом
что-то противозаконное (вирь) и удаляет файл.
Заранее спасибо.
1990


Дата: Дек 11, 2003 19:03:30

Как узнать, доступен ли в настоящий момент компьютер,
зная его имя или IP?


Честно? НИКАК!
Если комп - это частная машина, то можно выставить, чтобы он просто дропал все ICMP-пакеты. Если сервер - ну, тогда пробуй стандартные порты - 80 там, 21 и т.п.


Дата: Дек 11, 2003 20:51:17

volodya
Спасибо! А может есть исходник для этого решения?


Дата: Дек 11, 2003 21:15:33

И снова - "дайте исходник"... Прямо как на дельфийсих форумах 5-ти летней давности - только там просили "компонент, который сам все делает". Неужели проще разбираться в чужом коде, чем просто прочитать тот же MSDN?


Дата: Дек 11, 2003 21:28:33

Grenader

В общем случае я с тобой ох как согласен. Под этими словами подписаться готов. Однако применительно к TCP/IP - тема очень паскудно документирована в русской части сети, MSDN применительно к сетям ненавижу принципиально, слава богу, NetBIOS в сети не единственный протокол на сегодняшний день, а все эти фенечки... Ух.
Лишь в английских книгах, которые никогда не переводились на русский есть действительно блестящие описания. Но таких книг по пальцам одной руки.

1990
Для КАКОГО решения. Ты ж опять ничего не сказал. Какой комп, какое решение... Подробнее мона? Внятно, четко.


Дата: Дек 11, 2003 21:39:29

1990
Даже если комп находится в сети и на пинг отвечает, это вовсе не значит, что он потом сможет получить сообщение. Более правильно будет написать свой вариант службы сообщений, т.е. простенькое клиент-серверное приложение. Для гарантированной доставки (даже через UDP) можно проводить handshake (вроде рукопожатия). Например:

1. Клиент посылает что-то вроде "hello"
2. Сервер отвечает "i'm ready"
3. Клиент отправляет сообщение
4. Сервер подтверждает полученное сообщение.
5. Процесс повторяется.

Всё это через сокеты.


Дата: Дек 11, 2003 21:56:12 · Поправил: Grenader

volodya
ну, для написания простенькой проги типа чата MSDN будет достатчно на 100%. Немного оффтопика - а не было ли такой идеи: при создании новой темы автоматически производить поиск по форуму, с использованием в качестве ключевых слов названия темы, и если поиск принес результаты, показать окошко типа "все таки создать тему, или Вы хотите почитать форум?..." ? :)


Дата: Дек 11, 2003 22:01:51

Идея хороша! FAQ наш народ читать определенно не любит. Да и времени толком нет, нормальный FAQ писать...


Дата: Дек 11, 2003 22:12:57

volodya
Что ж, пойду тему создам в "WASM.SITE" - пусть народ мнение выскажет, и ответсвенные товарищи посмотрят.


Дата: Дек 12, 2003 03:57:18

1990
Как получить текст из мессге бокса, зная его заголовок?
Получить hwnd окна сообщения, запустить FindWindowEx чтоб найти hwnd текста сообщения, вызвать GetWindowText. Тут лежит статья на похожую тему.


Дата: Дек 12, 2003 10:45:48 · Поправил: 1990

Quantum
Теперь работаю над идеей клиент-сервера. Спасибо за ссылку.
Уважаемые войны Дзёна, я вижу, что вы не в настроении. ;-)
Спасибо за все решения!
Просто это значительно упрощает работу, когда получешь исходник и есть над чем подумать - ведь не OS я пишу. А небольшой сендер сообщений. ;)


Дата: Дек 12, 2003 10:48:20 · Поправил: 1990

volodya
Для элементарного получения информации - есть комп в сети или нет. Для меня достаточно: получает ли комп с именем пинг и отвечает на него или нет.


Дата: Дек 12, 2003 15:29:26

1990

Если ты всерьез будешь писать сендер то лучше полагайся на ip адрес и возможно dns. Исходники (sock) можно найти в сети. Не трать время зря на пинг.


Дата: Дек 13, 2003 11:11:44

Valery
Не настолько серьёзный. Мне только в пределах одной организации отсылать сообщения. Кстати, никогда не сталкивался с NetMessageBufferSend - не могу запустить. В чём ошибка не улавливаю. Всё под Unicode сделал, вроде коннект есть (т.е. компы мигают в трее), а сообщения нет ;-)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.084