![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
UDPSocket [D6, Win95/98, WinXP]
mOOx_ © (2003-09-14 15:38:00)
Такой вопрос: хочу с помощью сабж посылать сообщения на удаленные машины. На них, соответственно, тоже будет стоять клиент. Но вот что мешает: если я указываю RemoteHost=<имя уд. машины или ее IP>, то сообщение не доходит (даже если я указываю 127.0.0.1). На OnReceive весит обычный ShowMessage. В качестве порта использую свой, который прописан в services. В чем дело?
MaxDDinc (2003-10-06 15:44:00) [1]
Всегда пожалуйста :)
mOOx_ (2003-10-05 11:08:00) [2]
Слухай, MaxDDinc, ты гениален! Все отправляется :). Теперь только пичесать и ВСЕ. БОЛЬШОЕ СПАСИБО. А почему я не мог в таком случае принимать сообщения в этом же приложении?
ЗЫ: теперь можно обсуждать эту тему, так как душа моя успакоилась :)
MaxDDinc (2003-10-04 22:15:00) [3]
Возможно в 6-ом Delphi компонент UDP как-то отличается ... :(
Попробуй запустить два приложения, в одном порты распределить так:
- 2080 = прием, 2081 = передача;
а в другом наоборот
Возможно локально на один и тот же порт отправка вызывает ошибку
Попробуй, ждемс ответа ????
И чего это все на 6-ой перешли, чем пятый был плох, вот я на 5-ом пишу и нормально ...
mOOx_ (2003-10-04 11:42:00) [4]
Слушай, а веть действительно %). Похоже запарился с этой темой. Так веть ексепшн и при посылке и приеме на один и тот же порт возникает :(. Ты по [23] ответь, может хоть что-то проясниться. Больше постораюсь не делать таких ... кхе-кхе... ошибок :)
MaxDDinc (2003-10-03 20:16:00) [5]
Ну ты ... меня удивляешь ....
Ну если ты отправляешь на порт 2080, то и принимаешь на порт 2080 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Как ты можешь принять на 2081, если на него ничего не отправлял ??????????????????
Словей уже нет :))
Yol (2003-10-02 20:50:00) [6]
Извени я перепутал--- http://www.indyproject.org/
mOOx_ (2003-10-02 17:45:00) [7]
2MaxDDinc
Код, собственно, см. [9] :). Только еще LocalPort задаю. Завел в Services порт 2080 для отправки и 2081 для приема. Все равно этот дурацкий ексепшн. Мне кажется, что тут дело уже не в сети, а с портами (OnReceive веть выполняется). IP сетевухи прописаный. Все настроено и сетка работает (сегодня тока что-то не работает сеть, по тому и эспериментирую с адресами типа 127...). Кстати, 192.168.0.1 не доходит. Да, такой вопрос: у тебя работает между удаленными машимами? Локально через 127.. все тоже работоспособно?
2Yol
Ссылка не рабочая :(. К тому же, я уже спрашивал, выбор компонента - это дело вкуса или все же есть принципиальные отличия?
Yol (2003-10-02 17:09:00) [8]
Блин, если послушал бы меня и зашел на
http://www.nevronacom/indy, и скачал indy(demos)(примеры на дорогой вкус) да еще и сам Іndy, если хочешь более новую версию,
то проблем никаких не имел бы.
MaxDDinc (2003-10-02 16:47:00) [9]
Ну-у-у, блин-н-н, приплыли ...
Давай попорядку:
- проверь IP адрес своей сетевухи, он вообще выставлен ?
- с адресом не мудри, задай для начала 192.168.0.1 (для примера);
- порт можно задавать любой в пределах 0..65535 (так в книге написано, но я не работаю выше 5000);
- задал 2040, потому что в левом ухе в этот момент зачесалось :) (объяснил выше);
Вот теперь, если не работает, то отправь мне свой модуль или вырезку (прм/прд), посмотрю, что ты там назадавал ...
Спрашивай, чем могем, помогем :)
mOOx_ (2003-10-02 16:26:00) [10]
Все работает (в смысле хабов). К тому же если я указываю 127.0.0.1, то хаб вообще не причем. У меня порт 999. MaxDDinc, объясни, пожалуйста, зачем порт после 2040 задавать? Тут что, хитрость какая есть?
MaxDDinc (2003-09-29 18:37:00) [11]
Определи номер порта где-то после 2040, у меня все работает ...
Ты кабель проверил? Хаб включен?
MaxDDinc (2003-09-29 18:36:00) [12]
>> Е-Моё имя © (28.09.03 20:18) [16]
Это к примеру было, острица :))
mOOx_ (2003-09-29 14:25:00) [13]
Я вот что подумал: а может быть трабл в том, что я отправляю на свой же комп по порту 999 и из него же принимаю на этой же машине? Тоесть, поток приходит в порт, который в данный момент занят отправкой. Может как-нибуть так :).
Е-Моё имя (2003-09-28 20:18:00) [14]
> Физическая линия - кабель UTP CAT.5
а если STP и не дай бох не 5-я категория, то это уже не физическая линия! метафизическая ;))
MaxDDinc (2003-09-28 16:53:00) [15]
Извини, я про 5-ый Delphi говорил, но в шестом, помоему отличий немного ... хотя, говоришь, нашел UDP, тогда к делу:
Физическая линия - кабель UTP CAT.5. Он должен быть подключен к хабу, так как сигнал по UDP отправляется фактически в линию и если ты не подключен, то сетевая карта никогда его не получит!!!
Выбирай компонент, который содержит следующие события:
- OnBufferInvzlid;
- OnDataReceived;
- OnDataSend;
- OnInvalidHost;
- OnStatus;
- OnStreamInvalid.
В юзес у меня следующие вещи
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, NMUDP, ExtCtrls;
Проверь, возможно чего-то не хватает ...
Но я это на 5-ом делал, так что всех подвохов, которые могут быть использованы в 6-ом не знаю ...
Пробуй, посмотрим :)
mOOx_ (2003-09-28 15:24:00) [16]
Сделал по примеру [9].
NMUDP1.ReadStream(MyStream);-> ...Stream write error...
Вообще не воспринимаю :(. Видно удача ко мне задом повернулась :). Опять помощи прошу. Если ща я хоть понял, как отсылать и принимать, то на этой строке вообще ничего не понимаю. Может поток еще не дошел. Прием прямо на этой же машине. IP хоть из сетки, хоть 127.0.0.1 - все одно. Вроде с потоком все так. Вообщем...ХЕЛП!!!
mOOx_ (2003-09-28 15:07:00) [17]
Нашел, от куда :). Так всетаки, я нашел челых 3 компонента UDP! В чем их отличия?
mOOx_ (2003-09-28 15:02:00) [18]
2MaxDDinc: у тебя в примерах везде NMUDP1. Это с какой закладки компонент?
Вопрос ко всем: я использую компонент с закладки Internet. Чем он отличается от одноименного Indy и от NM..?
mOOx_ (2003-09-28 14:44:00) [19]
Большое спасибо за помощь :). Только я один момент не понял:"...если у тебя нет физической линии..." - это вообще как? Беспроводная связь что-ли?
Yol (2003-09-27 21:25:00) [20]
Если у тебя UDP(Indy) зайди на
http://www.nevrona.com/indyтам есть demos.