Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.036 c
1-1098766873
samumka
2004-10-26 09:01
2004.11.07
И снова MDI (передача переменных)?


1-1098779002
Brooks Seth
2004-10-26 12:23
2004.11.07
Млин...


14-1098437632
infom
2004-10-22 13:33
2004.11.07
Где-то тут недавно пробегала тема


1-1098535699
NfTser
2004-10-23 16:48
2004.11.07
Separator не скрывается


14-1098165020
vecna
2004-10-19 09:50
2004.11.07
Stream от МТУ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский