Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.028 c
1-1098436864
denis24
2004-10-22 13:21
2004.11.07
form1.windowstate:=maximazed


14-1098448210
Prohodil Mimo
2004-10-22 16:30
2004.11.07
При помощи какой переменной или функции можно узнать ...


4-1096475029
gor_beliy
2004-09-29 20:23
2004.11.07
security


1-1098623485
TeNY
2004-10-24 17:11
2004.11.07
$HEX, DEC , А как же работать с binary


14-1097955597
Nix
2004-10-16 23:39
2004.11.07
Как узнать величину перемещения курсора мыши?