Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
ВнизTClientSocket и TServerSocket Найти похожие ветки
← →
NewDelpher © (2004-10-15 13:51) [0]Будет ли дурным тоном использовние TClientSocket и TServerSocket в "несетевом" приложении для обмена данными между объектами?
← →
cyborg © (2004-10-15 13:55) [1]Будет :)
← →
DiamondShark © (2004-10-15 14:03) [2]Странные мысли порой в голову приходят...
← →
iZEN © (2004-10-15 14:16) [3]UNIX? ;)
← →
NewDelpher © (2004-10-15 14:36) [4]Видел в одной книге пример такого межпрограммного взаимодействия
← →
cyborg © (2004-10-15 14:40) [5]
> [4] NewDelpher © (15.10.04 14:36)
А ты представь себе, что некоторые программы на твоём компьютере будут использовать эту "технологию" :) А потом кто-то Билла Гейтса обзывает нехорошими словами.
← →
Rouse_ © (2004-10-15 14:43) [6]> NewDelpher © (15.10.04 13:51)
Когда мой FireWall начинает кивать на активность какой то явно не сетевой програмки, я ее сразу же сношу от греха подальше, так что используй смело :))
← →
КаПиБаРа © (2004-10-15 14:45) [7]cyborg © (15.10.04 14:40) [5]
А че плохого если клиент и сервер работают на одном компе?
NewDelpher © (15.10.04 13:51)
для обмена данными между объектами?
Про какие объекты вы речь ведете?
← →
NewDelpher © (2004-10-15 14:50) [8]
> Про какие объекты вы речь ведете?
про любые
TMyOby = class
...
end;
var MyOby: TMyObj
← →
ПЛОВ © (2004-10-15 14:51) [9]Какие требования о "обмену данными"?
Может подойдет SendMessage? Или файл/реестр...
← →
КаПиБаРа © (2004-10-15 14:53) [10]NewDelpher © (15.10.04 14:50) [8]
Если в пределах одного приложения, то это не дурной тон, а очень извращенное извращение.
← →
cyborg © (2004-10-15 14:53) [11]
> [7] КаПиБаРа © (15.10.04 14:45)
То, что "Волгами" снег на дорогах не чистят, для этого есть спецтехника, хотя если у тебя есть эта машина, приделай к ней впереди ковш (чтоли называется :) и выезжай чистить дороги.
← →
DiamondShark © (2004-10-15 14:54) [12]Ты уж определись: "межпрограммного взаимодействия" или "в "несетевом" приложении для обмена данными между объектами".
Несколько разные, знаешь ли, вещи...
← →
КаПиБаРа © (2004-10-15 14:55) [13]cyborg © (15.10.04 14:53) [11]
Попрошу яснее выражатся. Причем тут волги и снег?
← →
}|{yk © (2004-10-15 14:56) [14]а если pipe использовать?
← →
cyborg © (2004-10-15 14:57) [15]
> [13] КаПиБаРа © (15.10.04 14:55)
> Причем тут волги и снег?
При ковше.
← →
NewDelpher © (2004-10-15 14:59) [16]
> Ты уж определись: "межпрограммного взаимодействия" или "в
> "несетевом" приложении для обмена данными между объектами".
>
> Несколько разные, знаешь ли, вещи...
Да это не мой термин. Там, насколько я помню была Project Group из 2-х проектов. Так вот, один другому посылал текущее время, а другой ему отвечал количеством доступной памяти.
← →
КаПиБаРа © (2004-10-15 14:59) [17]cyborg © (15.10.04 14:57) [15]
А... я сразу то не догадался. Если волга без ковша, то тогда конечно дурной тон. :)
← →
КаПиБаРа © (2004-10-15 15:01) [18]КаПиБаРа © (15.10.04 14:59) [17]
Надо себе ковш поставить, хоть и не волга у меня :))
← →
NewDelpher © (2004-10-15 15:01) [19]
> а если pipe использовать?
что за pipe?
← →
cyborg © (2004-10-15 15:06) [20]
> [17] КаПиБаРа © (15.10.04 14:59)
У тебя заблуждение возникло, смысл наоборот переинач.
← →
}|{yk © (2004-10-15 15:06) [21]Почитай статью про pipe на delphimaster
← →
iZEN © (2004-10-15 15:11) [22]Pipe - трубы - механизм межпрограммного взаимодействия, основан на RPC (Remote Procedure Call), можно сказать, что это "лёгкие сокеты" (не-Беркли). Сильно развит в UNIX-подобных системах (там нет COM-а).
← →
NewDelpher © (2004-10-15 15:17) [23]
> Pipe - трубы - механизм межпрограммного взаимодействия,
> основан на RPC (Remote Procedure Call), можно сказать, что
> это "лёгкие сокеты" (не-Беркли). Сильно развит в UNIX-подобных
> системах (там нет COM-а).
Вот это мне и нужно. Осталось статю найти.
← →
cyborg © (2004-10-15 15:33) [24]
> основан на RPC
Это которым так успешно MSBlast воспользовался? :)
← →
Игорь Шевченко © (2004-10-15 15:38) [25]А почему, собственно, нельзя использовать сокеты ?
← →
DVM © (2004-10-15 15:40) [26]
> Будет ли дурным тоном
Не будет. Почему бы и нет. Одно из самых универсальных решений.
← →
cyborg © (2004-10-15 15:44) [27]
> [25] Игорь Шевченко © (15.10.04 15:38)
Потому, что они не для этого предназначены.
← →
Игорь Шевченко © (2004-10-15 15:47) [28]cyborg © (15.10.04 15:44) [27]
Не для чего "не для этого" ?
← →
DVM © (2004-10-15 15:49) [29]
> Потому, что они не для этого предназначены.
А для чего они тогда предназначены, если не для обмена данными между двумя программами? На одной или разных машинах - это уже другой вопрос.
← →
cyborg © (2004-10-15 16:11) [30]
[28] Игорь Шевченко © (15.10.04 15:47)
[29] DVM © (15.10.04 15:49)
Они предназначены для обмена данными между компьютерами. Конечно можно сделать и на одном компьютере, даже будет работать, так же как "Волга" будет чистить снег.
← →
DVM © (2004-10-15 16:17) [31]
> Они предназначены для обмена данными между компьютерами.
>
Тогда, например создатели большинства серверов баз данных - извращенцы. Так как обмен клиента с сервером происходит посредством сокетов. Часто и база и клиент располагаются на одной машине. Понятно, что есть способы другие (не сказать что проще), но они не менее тяжеловесные (COM) и не столь иногда универсальные.
← →
BiN © (2004-10-15 16:23) [32]NewDelpher © (15.10.04 13:51)
Будет ли дурным тоном использовние TClientSocket и TServerSocket в "несетевом" приложении для обмена данными между объектами?
По поводу "дурного тона" не могу ничего сказать, мы люди деревенские, некнижные :).
Но все-таки имхо каналы (или pipes) использовать целесообразнее, если твое приложение "несетевое", как ты выразился.
Насколько я понимаю, механизм каналов использует MMF (memory mapped files), если ты обращаешься к локальному каналу, и TCP (скорее всего тот самый 139-й порт RPC), если по работаешь сети.
Также можно было бы использовать MMF напрямую, но тогда бы пришлось задействовать свою схему синхронизации записи считывания данных, которая у каналов уже есть.
← →
BiN © (2004-10-15 16:25) [33]BiN © (15.10.04 16:23) [32]
... если по работаешь сети.
читать, естественно, как "если работаешь по сети"
← →
iZEN © (2004-10-15 16:26) [34]Pipe, кстати, может работать и между компьютерами в сети.
← →
cyborg © (2004-10-15 16:27) [35]
> Тогда, например создатели большинства серверов баз данных
> - извращенцы.
Если учесть, что они разрабатываются не только для того, чтобы работало на одном компьютере, то не извращенцы, а умные люди. Что же я, извращенец чтоли, если мой чат работает на моем компьютере?
← →
NewDelpher © (2004-10-15 16:41) [36]
> iZEN © (15.10.04 16:26) [34]
> Pipe, кстати, может работать и между компьютерами в сети.
посмотрел статью, получается, поддержка pipe есть только в NT? а в 98-й как быть?
← →
DVM © (2004-10-15 16:48) [37]
> а в 98-й как быть?
WM_COPYDATA например.
← →
NewDelpher © (2004-10-15 16:50) [38]
>
> > а в 98-й как быть?
>
> WM_COPYDATA например.
не понял, причем здесь сообщение WM_COPYDATA?
← →
DVM © (2004-10-15 16:54) [39]
> не понял, причем здесь сообщение WM_COPYDATA?
Позволяет передать данные между разными программами. Естесственно, имеющими окна.
← →
Игорь Шевченко © (2004-10-15 16:57) [40]NewDelpher © (15.10.04 16:41) [36]
> посмотрел статью, получается, поддержка pipe есть только
> в NT? а в 98-й как быть
В 98 нельзя создавать сервер канала, клиентов же можно.
cyborg © (15.10.04 16:11) [30]
> Они предназначены для обмена данными между компьютерами.
> Конечно можно сделать и на одном компьютере, даже будет
> работать, так же как "Волга" будет чистить снег.
А мне до сих пор казалось, что между процессами. Я сильно ошибался ?
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.035 c