Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Подскажите способ простейшего обмена данными между двумя ip ? (   Найти похожие ветки 

 
Сеть   (2005-03-26 01:43) [0]

RealTimer   (24.03.05 00:06) [11]
Простого пути нет. Indy - на редкость беспонтовая библиотека
(и не пишите мне ваши письма ненависти). С
IdTCPServer/IdTCPClient я не справился. Мое мнение об этих
компонентах - работают только примеры, и то - не на всякой
машине (Честное пионерское). Советую использовать IdUDPServer-
этот точно работает, причем везде. На прием сообщения - событие
OnUDPRead. На передачу - процедуры Send, SendBuffer
Вот примеры:
На передачу
var
fSocket:TIdUDPServer;
procedure Form1.SendIt(const aData: string);
begin
fSocket.Send("162.176.1.0",1001,aData);
end;

На прием
var
fSocket:TIdUDPServer;

procedure Form1.OnCreate(Sender:TObject);
var
fSocket:TIdUDPServer;
begin
.......// здесь инициализация..там просто
fSocket.OnUDPRead:=fSocketOnUDPRead;
end;

procedure Form1.fSocketOnUDPRead(Sender: TObject; AData: TStream;
                                  ABinding: TIdSocketHandle);
var
s:string;
begin
n:=AData.Size;
SetLength(s,n);
AData.Read(s[1],n);
// в s -  полученная строка
// ABinding.PeerIP - адрес отправителя
// ABinding.PeerPort - порт отправителя
end;
Это пример для UDP - т.е. доставку не гарантирует. Впрочем у
меня везде работало и exception-ами не парило

Не надо смущаться - и с клиентской и с серверной стороны -
TIdUDPServer. Ресурсов есть мало, работает быстро. Запускается
даже на клячах типа 66 Mhz , Win95

Во первых - спасибо за толковый совет !

И у меня вопрос, как инициализировать ? Если там просто.
И можно ли это отлаживать на одном компьютере ? Если да, то как ?

Нет ли где нибудь описание компонента TIdUDPServer на русском ?


 
Yegorchic ©   (2005-03-26 12:19) [1]

На одном компе отлаживать можно. Просто IP пишите 127.0.0.1 и всё... только получится что и отправитель и получатель будет один человек, т.е. вы. Есть ещё специальные проги, которые создают сеть на одном компе, но я ими не пользовался.

Описание компоненты TIdUDPServer и TIdUDPClient есть в книгах, а в инете я не нашёл.

Вообще TIdUDPServer и TIdUDPClient хорошие компоненты, я на них чат первыё написал, и всё для сети я пишу с помощью них. Вот.


 
Сеть   (2005-03-27 04:06) [2]


> Yegorchic ©   (26.03.05 12:19) [1]
> Вообще TIdUDPServer и TIdUDPClient хорошие компоненты, я
> на них чат первыё написал

А его исходник можно посмотреть ? А то у меня почему-то ничего себе не присылается.


> На одном компе отлаживать можно. Просто IP пишите 127.0.0.1
> и всё... только получится что и отправитель и получатель
> будет один человек, т.е. вы.

Нужно ли для этого быть подключённым к сети ? И один и тот-же компонент может и отослать и получить данные одновременно ? Или надо два ?

И как правильно инициализировать ?


 
Змей ©   (2005-03-27 14:14) [3]

у меня исходник чата весит 10 метров :)


 
Anatoly Podgoretsky ©   (2005-03-27 14:22) [4]

Сеть   (27.03.05 04:06) [2]
Сеть про себя все знает.


 
Eraser ©   (2005-03-27 14:32) [5]


> Змей ©


И что там? Небось картинки в форамате BMP? )


 
Сеть   (2005-03-28 02:00) [6]


> Змей ©   (27.03.05 14:14) [3]
> у меня исходник чата весит 10 метров :)

А только код ? Без картинок и прочей фигни.


 
Сеть   (2005-03-29 01:29) [7]

Как правильно инициализировать то ?


 
Nes ©   (2005-03-30 15:56) [8]

Эм..могу конечна поделиться кодом, но мало чё тебе это даст=( ...Сам себе..если хост 127.0.0.1 указать всё работает, если другой, то connеction timeout,по идеи так и должно всё посылать и получаться как у меня(ну по крайне ере так везду написано), но почему не коннесктится не знаю...На этом форуме почему-то тоже по этому поводу молчат
http://delphimaster.net/view/6-1111927099/


 
Nes ©   (2005-03-30 15:58) [9]

P.S. "везду" --> везде


 
Digitman ©   (2005-03-30 16:07) [10]

Удалено модератором
Примечание: Поменьше эмоций...


 
Сеть   (2005-04-02 03:40) [11]


> Nes ©   (30.03.05 15:56) [8]
> Эм..могу конечна поделиться кодом, но мало чё тебе это даст=(

Лучше что-то, чем ничего.
Хочу код !



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.038 c
3-1116673940
SlyFox
2005-05-21 15:12
2005.06.29
FireBird. Ошибка при выполнении Locate


14-1116885359
Германн
2005-05-24 01:55
2005.06.29
Постоянно работающий Windows


14-1117458253
evvcom
2005-05-30 17:04
2005.06.29
Весёлое сообщение об ошибке


14-1117373371
Магнум
2005-05-29 17:29
2005.06.29
Библиотека иконок ICL


4-1115325557
Кайфолом
2005-05-06 00:39
2005.06.29
Как обработать системные кнопки формы ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский