|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
Сетевое приложение, которое будет автоматически находить свои запущенные экземпляры в локальной сети08.04.2019, 16:28. Показов 3277. Ответов 19
Задание такое:
Написать программу, которая будет автоматически находить свои запущенные экземпляры в локальной сети и подключаться к ним для передачи текстовых сообщений. Есть у кого-нибудь идеи? Как это реализовать?
0
|
|
| 08.04.2019, 16:28 | |
|
Ответы с готовыми решениями:
19
Необходимо создать приложение, которое будет автоматически обновляться с API Разработать приложение, которое будет автоматически выдавать случайные фразы Доступ к файлу Write и Read (Серверное приложение которое будет принимать данные из сети и записывать в XML) |
|
|
||||||||||||||||||||||
| 23.05.2019, 13:58 | ||||||||||||||||||||||
Сообщение было отмечено kzkmrf2010 как решение
РешениеДля построения списка клиентов - каждый экземпляр будет регулярно отправлять пустые сообщения (heartbeat). Для отправки/приема сообщения будем использовать асинхронные методы BeginReceive/EndReceive и BeginSend/EndSend из UdpClient. Сначала создадим класс Host, который будет хранить информацию об удаленном хосте (IP адрес и время получения последнего heartbeat):
Также сделаем высокоуровневый класс Controller, который будет хранить в себе сервер, список удаленных хостов, будет принимать сигналы heartbeat и строить список онлайн хостов. Также этот класс будет содержать методы для отправки сообщения и событие приема сообщений:
2
|
||||||||||||||||||||||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 23.05.2019, 17:24 [ТС] | |
|
Storm23, а что надо сделать для переработки этого решения под tcp протокол?
0
|
|
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 23.05.2019, 22:53 [ТС] | |
|
Storm23, извините, решение полностью соответствует задаче, просто нужна реализация на tcp
0
|
|
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
| 23.05.2019, 23:55 | |
|
TCP совершенно не подходит для этой задачи, по крайней мере в одиночку
единственный вариант это банально сканировать диапазон сети и стучаться к каждому адресу, это жутко неэффективно и бессмысленно
1
|
|
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 24.05.2019, 00:02 [ТС] | |
|
m0nax, к сожаление, задание по tcp, подходит или нет, не мне решать(
0
|
|
|
|
|||||||
| 24.05.2019, 00:28 | |||||||
Сообщение было отмечено kzkmrf2010 как решение
Решение
В класс Controller добавляем поле ClientServerTCP и стартуем его при старте контроллера, аналогично старту Server. Также в класс Controller добавляем метод SendMessage который будет передавать данные по TCP на конкретный хост. Теперь класс Controller может передавать как широковещательные сообщения по UDP, так и сообщения на определенный хост по TCP. Нахождение клиентов друг друга по прежнему делается через heartbeats по UDP. Далее, немного изменяем интерфейс. Создадим чекбокс Broadcast. Если Broadcast = false, то сообщение будет отправляться по TCP на хост, выделенный в списке слева. Если же Broadcast = true, то сообщения будут отправляться всем клиентам по UDP.
1
|
|||||||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 24.05.2019, 17:14 [ТС] | |
|
0
|
|
|
|
||
| 24.05.2019, 17:55 | ||
|
1
|
||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|||||||
| 28.05.2019, 20:27 [ТС] | |||||||
|
Storm23,
Добавлено через 21 минуту Storm23, Добавлено через 33 минуты Storm23, Добавлено через 7 минут Storm23, Добавлено через 49 секунд Добавлено через 21 минуту
0
|
|||||||
|
|
||||||
| 29.05.2019, 23:10 | ||||||
|
kzkmrf2010, Все ответы на ваши вопросы можно найти в учебнике C#.
1
|
||||||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 30.05.2019, 14:40 [ТС] | |
|
Storm23, спасибо большое за ваши ответы.
Как можно разбить программу на две части. Т.е. сервер udp отправляет запрос по локальной сети (один раз) "кто здесь?". Клиенты отвечают ему "я здесь" и отправляют серверу свой ip. Дальше формируется список ip. После клиенты находятся в режиме ожидания "слушают"(на tcp). Сервер уже по tcp отправляет каждому клиенту сообщение, например, "я тебя вижу". Добавлено через 4 часа 27 минут Storm23, благодаря Вам, я стала намного лучше разбираться с клиент-серверными приложениями. Начали интересовать различные варианты. Извините, что задаю так много вопросов.
0
|
|
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 30.05.2019, 18:14 [ТС] | |
|
Storm23, нуу если бы мне это не составило труда, я б здесь не просила...
Добавлено через 49 минут Storm23, вы сможете помочь еще раз? ![]()
0
|
|
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|||||||||||||||||||||
| 01.06.2019, 20:44 [ТС] | |||||||||||||||||||||
|
Storm23, Вроде как справилась, единственное вылетает ошибка "Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 192.168.0.2:45450"
Если несложно, посмотрите код пожалуйста. Сервер:
Ошибка пропадает, и всё работает, если методы
0
|
|||||||||||||||||||||
|
|
||
| 02.06.2019, 09:51 | ||
|
Во-вторых, у вас тут нет разделения на клиенты и сервера, потому что у вас peer-to-peer. Оба хоста являются одновременно и клиентами и серверами. Ну а ошибка понятно почему падает. Вы же зачем то кусок кода перенесли в другой класс, а там порт другой, вот оно и не может приконектится. У вас для UDP - должен быть порт 45450, а для TCP - 45451.
1
|
||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
||
| 02.06.2019, 12:12 [ТС] | ||
|
0
|
||
|
|
||
| 02.06.2019, 15:38 | ||
|
Хотя изначально оно же по UDP всем и отправляло, вы глупостью какой-то занимаетесь.
0
|
||
|
5 / 4 / 1
Регистрация: 28.11.2017
Сообщений: 38
|
|
| 02.06.2019, 15:40 [ТС] | |
|
Storm23, может и глупостью, но дано задание, которое надо выполнить... То что надо перебирать Host, я понимаю. Может подскажете каким способом.
0
|
|
| 02.06.2019, 15:40 | |
|
Помогаю со студенческими работами здесь
20
Комп перестал видеть сетевую карту и сетевое подключение к локальной сети Создать приложение, которое будет запускать Word Приложение, которое будет на ПК уведомлять об уведомлениях на телефоне Приложение для анкетирования в локальной сети Клиентское приложение + БД (ORACLE) в локальной сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|