|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||
Клиент-серверное приложение для работы с MySql04.09.2024, 14:03. Показов 1091. Ответов 17
Метки нет (Все метки)
Все свои приложения я писал с прямой связью между клиенским приложением и бд, но безопасность в таких приложениях не очень-то хорошая, подключения не зашифровать, данные юзера тоже, выяснил, что для какой-то безопасности нужна прослойка между клиентом и бд, начал разбираться в теме, и столкнулся с тем что не очень понимаю общую структуру. Отсюда несколько вопросов:
Ну и надо наверное немного приложение описать. Создается оно для работы в компании. Общая суть такая: клиент авторизуется, и работает то с бд, вносит удаляет редактирует данные, таких клиентов может быть много, так же приложение может быть доступно вне локальной сети.
0
|
||||||
| 04.09.2024, 14:03 | |
|
Ответы с готовыми решениями:
17
Клиент-серверное приложение для обмена файлами между ПК Как написать клиент-серверное приложение для управления COM портом Клиент-серверное приложение для удаленного доступа к рабочему столу |
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,689
|
||||||||
| 04.09.2024, 14:16 | ||||||||
Сообщение было отмечено firnen_dragon как решение
Решение
У вас будет web api сервис, он будет связан с клиентом посредством http/https запроса, БД будет крутиться на сервере, какая там будет между ними прослойка не столь важно, можно использовать EF, можно прямое соединение не суть, сломать или пробросить что-то сводится к 0, т.к. для этого нужно взломать сам сервер на котором крутится ваш web api сервис. Что касаемо клиента, он может быть абсолютно любым: мобилка, десктоп, браузер и т.д. все общение сведется по сути к запросу и получению json в ответ
Добавлено через 3 минуты
1
|
||||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||
| 04.09.2024, 14:20 [ТС] | ||
|
0
|
||
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,689
|
|||
| 04.09.2024, 14:25 | |||
|
Добавлено через 3 минуты Протокол управления передачей (англ. TCP - Transmission Control Protocol) обеспечивает надежную доставку данных. Сервис TCP так и называется: reliable byte stream (надежная передача потока байт). Этот протокол отвечает за доставку данных и сохранение порядка передаваемых сообщений. Поток может быть большим. Как же в этом случае работает протокол? Допустим, вы скачиваете файл, который весит несколько Гб. В протоколе поток будет разбиваться на сегменты, и каждый из этих сегментов - отправляться получателю. На стороне получателя все части снова собираются. Чтобы обеспечить гарантию доставки данных, TCP использует подтверждение получения сообщений. Как это работает? От отправителя к получателю "уходит" некий сегмент данных. Приняв этот сегмент, получатель посылает отправителю подтверждение (ACK или Acknowledgement). Данный процесс повторяется, пока передаются данные. А вот что происходит, если при передаче произошла ошибка: сегмент теряется в сети, не доходит до получателя, и подтверждение не отправляется. Со стороны отправителя есть таймер, который задает время ожидания подтверждения. По истечении этого времени и за неимением ACK сегмент отправляется повторно. Вот только в протоколе TCP подтверждаются сразу несколько сегментов, которые отправляются друг за другом (механизм скользящего окна). В противном случае скорость обмена данными была бы ужасающе медленной. В протоколе TCP также предусмотрена защита от дублирования и нарушения порядка сообщений (сообщения нумеруются). Протокол HTTP Мы видим HTTP в каждой ссылке: http://google.com/ и т.д. Что это значит? HTTP - это протокол передачи гипертекста. Грубо говоря, это тип разметки, которая добавляется в текстовые документы для определенного отображения текста. Например, в HTML используются теги. Так это выглядит в браузере, все знают. В стеке протоколов HTTP находится на прикладном уровне. Он использует протокол TCP и порт сервера 80 (для клиента порт генерируется операционной системой). Режим работы HTTP - запрос-ответ: клиент посылает серверу запрос на передачу web-страницы, после чего сервер пересылает эту страницу клиенту. При этом нет жестко заданного формата пакетов: используется текстовый режим. Скопировал в сети, по сути разница в протоколах, выше описано что представляет каждый из них
1
|
|||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|||
| 04.09.2024, 14:53 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,689
|
||||||||||
| 04.09.2024, 16:03 | ||||||||||
|
Добавлено через 3 минуты
Почитайте что такое json, как с ним работать в .NET, почитайте про HttpClient, какие запросы бывают, как это работает и не будите задавать лишние вопросы, весь мир уже давно использует json, а не гоняет байты по TCP ![]() Добавлено через 2 минуты
1
|
||||||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 04.09.2024, 16:48 [ТС] | |
|
Midian, Спасибо, бульмень чет начал понимать, пошел я читать про api
0
|
|
|
|
||
| 04.09.2024, 19:28 | ||
|
0
|
||
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,689
|
||
| 05.09.2024, 10:17 | ||
|
0
|
||
|
14130 / 9350 / 1350
Регистрация: 21.01.2016
Сообщений: 35,148
|
|
| 05.09.2024, 10:29 | |
|
Midian, в таком случае применяют версионирование API, а не ручное чтение json'ов.
1
|
|
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 05.09.2024, 11:34 [ТС] | |
|
Midian, Еще вопросик появился, разбираюсь в структуре net.core web api, и я не пойму где находится уровень логики, если мне допустим нужно что-то дополнительно вычислить или обработать, в контроллерах нельзя вроде как, в модели данных тоже, мне логику в сервисах писать нужно или как? Ну пример того что мне может понадобиться, подключение нейронки, шлю картинку она там обрабатывается потом по итогам длаем sql запрос и выплевываем клиенту то что получилось? Такое вообще логично писать в api?
0
|
|
| 05.09.2024, 12:18 | ||||
|
Добавлено через 3 минуты
1
|
||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||
| 05.09.2024, 12:47 [ТС] | ||
|
0
|
||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 05.09.2024, 15:11 [ТС] | |
|
0
|
|
|
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,689
|
|||
| 05.09.2024, 16:13 | |||
|
Добавлено через 1 минуту
1
|
|||
|
|
|
| 05.09.2024, 16:25 | |
|
firnen_dragon, MVVM применяется только в клиентской части, на серверной он не применим априори (внезапно на ней нет слоя View). Взаимодействие с WEB API оперирует понятиями Request-Response. На клиентской части обычно делают слой WebApiService, который инкапсулирует запросы на сервер. На самом сервисе API методы в идеале стоит делать тонкими, т.е. они должны вызывать внутрений сервис/репозитори/менеджер/провайдер с нужными параметрами и формировать ответ. Опционально валидировать входящие данные и креды.
В целом если по незнанию сделаете "толстый" api метод, то не смертельно. Просто это нереюзабельно и не покрывается тестами, скорее всего вам сейчас это не смертельно.
2
|
|
| 05.09.2024, 16:25 | |
|
Помогаю со студенческими работами здесь
18
Создать клиент-серверное приложение для трансляции картинки с web камеры Клиент-серверное приложение: как определить, что сервер/клиент не отвечает в течении определенного времени Клиент серверное приложение ADO.net - mysql Cоздать клиент-серверное приложение для тестирования Написать клиент-серверное приложение для взаимодействия через интернет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|