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

Вниз

Вопрос такой...   Найти похожие ветки 

 
dimushkin   (2002-07-12 13:04) [0]

есть несколько компов которые соединены по сети
на каждом из них стоят датчики
требуется по сети принимать данные с этих датчиков на один комп и обрабатывать
все это по TCP/IP
думал для этого использовать TClientSocket и TServerSocket

все работает когда 1 сервер а компы с датчиками клиенты
вопрос следующий как подключиться еще n серверам чтобы паралельно видеть что с датчиками происходит.
Заранее благодарен за совет.


 
Digitman   (2002-07-12 13:22) [1]

Куда подключиться ? А у них (у этих n серверов) кто клиентами будет ?


 
dimushkin   (2002-07-12 15:13) [2]

клиенты одни и те же в том то и вопрос как раз

необходимо подключаться к сети с разных компов и забирать инфу с датчиков
но одновременно это могут делать несколько человет...

может это вообще через сокеты сделать невозможно?


 
Anatoly Podgoretsky   (2002-07-12 15:18) [3]

Получать эту информацию с того же самого сервера


 
dimushkin   (2002-07-12 15:34) [4]

я об этом думал
но придется в таком случае разный интерфейс делать
в соответствии с типом подключения (прямым и через сервер)

это конечно выход но он не радует что-то :-)


 
Digitman   (2002-07-12 15:52) [5]

Нет, погоди ... я что-то не понял ...

При чем здесь "сокеты" вообще ? Гнездовой интерфейс требуется (или так скажем - может быть использован) лишь для организации транспортного уровня распределенной инф.системы ... А что там передается через "сокеты", в какой момент, кем, кому и по какому поводу - все это надстройка, которую ты реализуешь самостоятельно ...


 
dimushkin   (2002-07-12 16:15) [6]

ЕЩЕ РАЗ попытаюсь объяснить задачу.

5 компов стоят в разных комнатах
первые 3 "нагружены" датчиками
на 4 и 5 компе проги работают которые должны забирать инфу с 1,2 и 3 го паралельно должны собирать

есть вариант пердложенный Anatoly Podgoretsky © (если я правильно понял конечно) когда на 4 комп являясь сервером для 1,2,3 компов и одновременно для 5,6,7... и перенаправляет пакеты данных которые он получил от 1,2 и 3 компа на 5,6,7...



 
Digitman   (2002-07-12 16:23) [7]

ЕЩЕ РАЗ попытаюсь выяснить, спросив :

при чем здесь гнезда ?


 
valery_f   (2002-07-12 16:35) [8]

Вариант 1: один сервер, снимая информацию, отсылает ее другим серверам, т.е. есть первичный сервер и несколько вторичных. Недостатки 1) нужно определяться кто первичный сервер, 2) если первичный упадет - хана всем :(

Вариант 2: в начале работы каждый клиент собирает информацию о количестве серверов (или записывается ручками в какой-нибудь INI) и с каждым сервером беседует отдельно. Недостаток - данные дублируются и растет траффик, т.к. нескольким серверам мы отсылаем одно и то же.

Вариант 3: броадкастовые UDP пакеты с данными от клиентов - все сервера в локалке автоматически их получат. При этом клиентам даже не нужно разбираться - есть там сервера, нет их, сколько их (типа - отплюнул в локалку, кому нужно - ловите). Преимущество - скорость и простота. Недостаток - UDP не гарантирует доставку пакетов, и иногда что-то может и не дойти.


 
Digitman   (2002-07-12 16:40) [9]

Ну это же не о транспортном уровне речь-то идет !
Да и почему ты зациклился именно на TCP/UDP ? В ЛВС, где сплошь и рядом - машинки с NT-платформами, гораздо эффективней будет использовать , скажем, те же Named Pipes ...


 
Malder   (2002-07-12 16:48) [10]

Что такое Named Pipes ?


 
Dimushkin   (2002-07-12 22:18) [11]

Да, что такое Named Pipes :-)

слова то какие я ток-тока разобрался как пакепики по сокетам гонять а тут столько терминов :-)

СПАСИБО МУЖИКИ Я УЖЕ СЕБЕ ТУТ НАБРОСАЛ ВСЕ КАК БУДЕТ...
вроде все логично ...

P.S. (for Digitman :)ну не быть мне учителем, косноязычен...
да и знаний в этой области мало :-) sorry


 
Malder   (2002-07-14 23:57) [12]

Ау. Digitman, Отзовись ! Ху из Named Pipes ?


 
Digitman   (2002-07-15 08:16) [13]

Фрагмент того же хэлпа : Delphi Win32 Programmer"s Reference
Читай, вникай :

A named pipe is a one-way or two-way pipe for communicating between a server process and one or more client processes. A server process specifies a name when it calls the CreateNamedPipe function to create one or more instances of a named pipe. All instances of a named pipe share the same pipe name, but each instance has its own buffers and handles and provides a separate conduit for client-server communication. When a client process specifies a pipe name in the CreateFile or CallNamedPipe function, it connects to an instance of the pipe. The use of instances enables multiple client processes to use the same named pipe simultaneously.

Subject to security checks, any client process can access a named pipe, making it easy to communicate between related or unrelated processes. Named pipes can be used locally to communicate between processes on the same machine or across a network to connect processes on different machines.
Any process can act as both a server and a client, making peer-to-peer communication possible. As used here, server refers to a process that uses CreateNamedPipe to create a named pipe, and client refers to a process that uses CreateFile or CallNamedPipe to connect to an instance of a named pipe.



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

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

Наверх





Память: 0.48 MB
Время: 0.006 c
1-61089
манечка
2002-09-06 13:21
2002.09.19
Единицы измерения


1-61108
Andre V.
2002-09-04 09:55
2002.09.19
Работа с DLL


1-61162
imNight
2002-09-07 14:45
2002.09.19
TTimer


3-61020
Bishop
2002-08-29 11:34
2002.09.19
sql


1-61169
dim-
2002-09-07 16:20
2002.09.19
Получить все значения ключа реестра





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