|
203 / 203 / 13
Регистрация: 14.10.2011
Сообщений: 227
|
|||||||||||
.NET 4.x Технология клиент-сервер. Классы клиента и сервера. Обсуждение16.10.2011, 16:02. Показов 37822. Ответов 107
Метки нет (Все метки)
В данном теме выкладываю свои классы клиента и сервера, а так же простеньких примеров реализованных на этих классах. Жду конструктивной критики, идей, предложений по улучшению, оптимизации и прочего.
Так же прошу поправлять меня, если комментарии в коде не соответствуют реальной действительности. Комментировал то как я это понимаю. P.S. с орфографией тоже туговато, так что исправляем ![]() Класс СЕРВЕРА.
Класс КЛИЕНТА
Сообщение в разработке. Примеры будут чуть позже.
35
|
|||||||||||
| 16.10.2011, 16:02 | |
|
Ответы с готовыми решениями:
107
Как вызвать Disconnect клиента (Технология Клиент-Сервер) Чат "Сервер-клиент". На сервер не могу отправить сообщение с клиента Http сервер и клиент. При попытке получить ответ клиента от сервера ошибка: Поток был недоступен для чтения |
|
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 14
|
||
| 14.03.2012, 20:29 | ||
|
не дает скомпилировать даже..
0
|
||
|
203 / 203 / 13
Регистрация: 14.10.2011
Сообщений: 227
|
||||||
| 14.03.2012, 20:53 [ТС] | ||||||
2
|
||||||
|
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 14
|
||||||
| 14.03.2012, 21:10 | ||||||
хмм. забавно.. если дальше включаю функцию, которая по таймеру двигает слайдер, да и вообще если трогую любую функцию с таймерами, получаю загрузку цп=98%, и ноут-пылесос ) Добавлено через 12 минут Аааа, черт возьми! это я тупанул, и оставил бесконечный цикл в одной из функций, когда экспериментировал с потоками..) СПАСИБО!
0
|
||||||
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
||||||
| 03.09.2012, 16:49 | ||||||
|
Чуток с кнопочками для клиента не дописали. Кнопки более удачно расположены, если добавить size.
1
|
||||||
|
1 / 1 / 0
Регистрация: 12.02.2012
Сообщений: 54
|
|
| 26.09.2012, 15:09 | |
|
скиньте посмотреть, у кого что получилось на основе этого. спасибо.
0
|
|
|
1 / 1 / 0
Регистрация: 12.02.2012
Сообщений: 54
|
|
| 30.09.2012, 23:03 | |
|
что то не пойму, а как узнать количество подключенных клиентов ?
0
|
|
|
203 / 203 / 13
Регистрация: 14.10.2011
Сообщений: 227
|
||||||
| 01.10.2012, 17:59 [ТС] | ||||||
0
|
||||||
|
0 / 1 / 1
Регистрация: 18.02.2012
Сообщений: 244
|
|
| 01.10.2012, 20:14 | |
|
блин ну почему я искал сегодня по всему инету такие классы с сервером и клиентом и не нашел, а щас зашел так сразу вот пожалуйста
0
|
|
|
1 / 1 / 0
Регистрация: 12.02.2012
Сообщений: 54
|
|||||||
| 02.10.2012, 12:09 | |||||||
Добавлено через 15 часов 14 минут посмотрел в отладке, когда выполняется это: 'Количество пользователей Form1.TextBox4.Text = "Количество пользователей=" & User_List.Count Form1.TextBox4.Refresh() в отладке выдаёт почему то это: Кликните здесь для просмотра всего текста
Шаг с заходом: обход кода, не являющегося кодом пользователя "System.Activator.CreateInstance<Server. My.MyProject.MyForms>"
Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.My.MyProject.MyForms.Form1.g et" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Form1" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.__ENCAddToList" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Form1" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button3.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button2.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button1.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox2.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox1.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox3.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox4.set" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button3.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button2.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Button1.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox2.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox1.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox3.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.TextBox4.get" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.InitializeComponent" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.Form1.Form1" Шаг с заходом: обход кода, не являющегося кодом пользователя "System.RuntimeType.CreateInstanceSl ow" Шаг с заходом: обход кода, не являющегося кодом пользователя "System.Activator.CreateInstance<Server. Form1>" Шаг с заходом: обход кода, не являющегося кодом пользователя "Server.My.MyProject.MyForms.Form1.g et"
0
|
|||||||
|
203 / 203 / 13
Регистрация: 14.10.2011
Сообщений: 227
|
|||||||||||
| 03.10.2012, 15:25 [ТС] | |||||||||||
|
Код сервера и всех подкюченных клиентов выполняются в разных потоках. Что бы изменить свойства всяких текстбоксов, лейблов, пикчербоксов, нужно делать синхронизацию с главным потоком(тем, в котором текстбокс и т.д. созданы), иначе ничего изменить не получиться.
Для кого в примерах сервера и клиента я делал:
UpdateStatus(в котором и можно уже напрямую менять свойства объектов) в данном примере вызван с синхронизацией, через метод Invoke
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 12.02.2012
Сообщений: 54
|
|
| 10.10.2012, 12:25 | |
|
а как сделать так, что бы:
1 клиент отсылает серверу запрос с определённым текстом. 2 сервер перерабатывает этот текст и отправляет переработанный текст клиенту ?
0
|
|
|
1 / 1 / 0
Регистрация: 12.02.2012
Сообщений: 54
|
|
| 14.10.2012, 11:59 | |
|
может кто поможет ?
0
|
|
|
4 / 4 / 0
Регистрация: 16.01.2012
Сообщений: 83
|
|
| 16.02.2013, 03:59 | |
|
а у меня выдает ошибку в этой части "Public SERVER As Class_Server" и еще в некоторых... Что делать?
0
|
|
|
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 445
|
|
| 16.02.2013, 22:19 | |
|
vitebskstar, проверки на событии OnRead. В чем проблема?
GladiatoR-13, прикрепите скриншот.
0
|
|
|
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 3
|
||||||||||||
| 05.04.2013, 13:04 | ||||||||||||
да, а у меня вопрос другого характера: на сколько я понимаю, KingManiya, у нас есть флаг
0
|
||||||||||||
|
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 445
|
|||||||
| 06.04.2013, 09:44 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 05.04.2013
Сообщений: 3
|
|
| 09.04.2013, 13:19 | |
|
С флагом разобрался, но есть одно "но". Как-то пакеты плохо доходят. Они как-то режутся, чтоле... Иногда правильно все приходит, а иногда битые пакеты. Может проблема в серверной части? Или нужно принудительные задержки в несколько мс перед отправкой пакетов на сервер?
Добавлено через 1 час 38 минут решил ограничить размер пакета до 4х байт. но немного не пойму - как реализовать нечто вроде ожидания ответа от сервера клиенту получил ли он правильный пакет или выслать ему повторно (4й байт - CRC первых трёх, я так решил проверять)
0
|
|
|
43 / 43 / 5
Регистрация: 12.11.2011
Сообщений: 445
|
|
| 09.04.2013, 14:28 | |
|
добавьте ACK пакеты. Через них и отслеживайте
0
|
|
|
44 / 44 / 4
Регистрация: 30.04.2011
Сообщений: 283
|
||||||||||||||||
| 19.04.2013, 19:15 | ||||||||||||||||
|
Когда я запускаю сервер таким образом:
0
|
||||||||||||||||
| 19.04.2013, 19:15 | |
|
Технология создания приложений на основе многоуревневой архитектуры клиент - Web-сервер - сервер баз данных
Клиент-сервер, передать строку с клиента на сервер Клиент-Сервер. Распознавание клиента Получить ip адрес клиента (асинхронный клиент - сервер) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|