|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.08.2013, 20:39 | #1 |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
ServerSocket ClientSoket или Winsock?
Господа помогите определиться с выбором.
Есть сетка из статических IP адресов. Есть сервер (назовем его SRV01), и есть компы-клиенты для ровного счета возьмем 1024 ))). (беру специально больше 255) На сервере хранится БД, в которой записано какому пользователю есть доступ к какому клиенту. На клиенте №284 стоит программа и БД, которая выполняет какие-то свои функции, например читает данные с com-порта и сохраняет их в свою БД. За клиента садиться админ и создает нового пользователя для этого клиента, нужно отправить данные на сервер в отдельном потоке, что на клиенте №284 появился новый юзер. И наоборот, на сервере создаем нового пользователя и даем ему доступ к клиентам №256,№342,№486,№136. Естественно тоже в отдельном потоке, по крайней мере мне так кажется, так как сервер работает на постоянный прием от клиентов. Подскажите как организовать такую работу, с применением каких компонентов это будет проще. Если можно с примерами. Спасибо. |
20.08.2013, 20:43 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Раз уж
Цитата:
Цитата:
Может одну БД на всех стоит сделать?
I'm learning to live...
|
||
20.08.2013, 20:46 | #3 | |
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
Цитата:
Куда должен девать клиент данные, прочитанные с com-порта, если интернета нет 3-4 дня? |
|
20.08.2013, 22:01 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Теперь ясно. Тогда так: в БД заведи поле, в котором будет true если запись эта реплицированна на сервер и false если еще не успела попасть на сервер.
Время от времени проверяй инет, и если он появился начинай из БД передавать порциями скажем по 10 записей на одну транзакцию. По завершению транзакции выставляй поле в true. Так ты будешь знать что у тебя передано и что нет, и программе просто нужно будет выбирать только то где поле в false. Теперь по теме: Что за СУБД? Если она способна принимать запросы с удаленных провайдеров то нужно не винсок или сокет а именно через этого провайдера. Естесственно желательно чтоб пров стоял у всех клиентов - это надежнее чем делать свой передатчик. Ну и неувязочка в рассуждения: Цитата:
Цитата:
I'm learning to live...
|
||
20.08.2013, 22:09 | #5 | ||
Форумчанин
Регистрация: 09.09.2008
Сообщений: 418
|
Цитата:
Цитата:
Я же говорю клиентов, например, 1024. И 1023 клиента передают данные, а у 1024-го мыша кабель перегрызла. Что тогда??? |
||
21.08.2013, 08:06 | #6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
1024 - потенциальных клиентов или постоянных? т.е. ени эпизодически подключаются или постоянно поддерживают коннект?
это я к чему: под поток по дефолту выделяется 1Мб стека, 1024 клиента одновременно подключенные к серверу с поточной/блокирующей моделью отгрызут у сервера минимум 1Гб памяти из 2Гб доступных. если же одновременных клиентов меньше то можно заморочиться на поточной/блокирующей модели иначе нужно смотреть в сторону неблокирующих сокетов или IOCompletitionPort
Не стесняемся, плюсуем!
|
21.08.2013, 08:17 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Я бы и не выдумывал в этом случае ничего своего, если ODBC не заупрямится.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тестирующая программа (на PHP или JavaScript или Delphi или Visual Basic) | @@@Сергей@@@ | Фриланс | 2 | 05.05.2011 17:48 |
winsock udp сервер в потоке, не работает при создании формы или обращению к VCL компоненту | marikcool | Работа с сетью в Delphi | 1 | 01.10.2010 00:57 |
Есть ли у IdTCPServer такое свойство как у ServerSocket: ServerSocket.Socket.ActiveConnectio ns? | TwiX | Работа с сетью в Delphi | 3 | 07.03.2010 14:28 |
[TcpClient, TcpServer] или [ServerSocket, ClientSocket] работа через прокси | DOLBY | Работа с сетью в Delphi | 2 | 17.09.2009 05:46 |
SSL через WinSock или через что? | Jolyk | Win Api | 2 | 07.06.2008 17:37 |