|
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
|
||||||
Работа с протоколом UDP31.05.2009, 17:36. Показов 11865. Ответов 9
Метки нет (Все метки)
Добрый день!!!
Ситуация такая есть клиент и сервер работают по протоколу udp, я отправляю с клиентской части сообщение а сервер его получает проблем нет. А можно ли организовать так: я отправляю с клиента сообщение если сообщение дошло до сервера выдается сообщение что все в порядке если нет то через 5 секунд происходит повтор выполнения программы. У меня абсолютно ни каких идей нет. Заранее спасибо. Клиент
0
|
||||||
| 31.05.2009, 17:36 | |
|
Ответы с готовыми решениями:
9
Работа с протоколом весов Работа с протоколом UDP Работа с протоколом UDP, не работает код |
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
||||||
| 01.06.2009, 03:00 | ||||||
|
Для этого сервер должен послать сообщение клиенту, что передача прошла успешно.
Что бы ваше приложение могло повторять свои действия используйте бесконечный цикл
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
|
||||||
| 01.06.2009, 22:36 [ТС] | ||||||
|
А с этим можно что-нибудь сделать ???
Сервер
0
|
||||||
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
||
| 02.06.2009, 02:23 | ||
![]() Нужно объединить клиента и сервера на каждой стороне. К серверу нужно добавить клиентскую часть, чтобы после приема, он отсылал клиенту сообщение. А к клиенту соответсвенно серверную часть. Чтобы клиент после отправки ждал входящего сообщения.
0
|
||
|
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
|
|
| 02.06.2009, 23:08 [ТС] | |
|
Ну ни получается отправить подтверждение с сервера клиенту, задолбался уже.
Нужно ли создавать новый соккет на сервере при отправке подтверждения клиенту? и откуда достать ip клиента если сообщение ни дошло? Зато получилась задержка правда ни то что надо, но приятно. s.SetSocketOption(SocketOptionLevel.Sock et, SocketOptionName.ReceiveTimeout,5000); Я прошу прощения за дерзость может у кого-нибудь есть похожие исходники? Буду благодарен. Спасибо.
0
|
|
|
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
|
|
| 03.06.2009, 02:56 | |
|
0
|
|
|
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
|
|
| 03.06.2009, 07:53 | |
|
Всё правильно, вам надо просто сделать callback у сервера. Для этого нужно послать хоть какой-то пинг (1 байта хватит). В сервере достаточно будет вставить кусок кода такой(по контексту гляньте где вставить...):
s.ReceiveFrom(buffer, ref EndRem); byte[] a = new byte[1]; a[0] = 1; s.Send(a); data = Encoding.ASCII.GetString(buffer); Для клиента почти так же: //передаем данные s.SendTo(buffer, ipe); byte[] a = new byte[1]; s.Receive(a); //закрываем сокет нужно синхронизировать клиент-сервер, как будто это одна программа, тогда всё будет ОК:-)
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
|
|
| 03.06.2009, 20:32 [ТС] | |
|
На сервере после этой строки s.Send(a) уходит в catch
значит отправлять ни хочет? Добавлено через 47 минут 47 секунд да ни очень получается
0
|
|
|
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
|
||
| 03.06.2009, 20:35 | ||
|
попробуйте временно убрать обработку исключений, тогда ошибка всё разъяснит. Или воспользуйтесь отладчиком - расставьте точки останова в критичных местах и проверяйте на каждой значения всех переменных.
Добавлено через 1 минуту 1 секунду
1
|
||
|
0 / 0 / 0
Регистрация: 31.05.2009
Сообщений: 5
|
|
| 03.06.2009, 20:52 [ТС] | |
|
да у меня задача как раз на udp сделать
0
|
|
| 03.06.2009, 20:52 | |
|
Помогаю со студенческими работами здесь
10
Работа с протоколом UDP. "Требуемый адрес для своего контекста неверен" Как различать клиентов на сервере с UDP протоколом? Работа с IP (TCP UDP)
Работа приложения с протоколом Bluetooth Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|