Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59

Проверка активности порта UDP

20.10.2016, 01:23. Показов 7552. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие друзья. Существует VDS сервер, на нём запущен игровой сервер с портом UDP 7777. Как можно проверить, используется ли в данный момент порт 7777 или же нет?

Если делать так:
C#
1
2
UdpClient c = new UdpClient();
c.connect(ip,port);
То всегда будет возвращаться TRUE (Как будто игровой сервер запущен, хоть он и выключен на данный момент).

Если делать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
            {
                try
                {
                    socket.Connect("ip", 7777);
                    socket.Close();
                    return "Работает";
                }
                catch (Exception)
                {
                    return "Выключен";
                }
            }
То всегда будет показывать, что сервер выключен, даже если он включен. Прошу помощи, заранее благодарен!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2016, 01:23
Ответы с готовыми решениями:

UDP клиент-сервер. Проброс порта у клиента
В TCP-IP т.к устанавливается соединение мы используем для связи с сервером тот же сокет с которым подключались. Возможна как отправка...

UDP прослушка IP а не порта
Привет всем. в ходе реализации возникла проблемка, помогите чем можете. Есть сервер который принимает только с определенного порта. А мне...

Настройка выделенного UDP порта
Доброе время суток, столкнулся с такой проблемой как выделение UDP порта. Создал сервер, чтобы к нему могли подключаться пользователи...

20
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
20.10.2016, 02:05
udp подразумевает динамический порт, 4 топора откуда взято?а ваша проверка на открытость порта, 4 топора показывает что порт открыт, и ничего более, есть ли что за ним или нет, никакого рояля не играет в вашей проверке...тут , имхо, нужна проверка на кол-во открытых сокетов на необходимом порту...
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,398
20.10.2016, 04:57
vinste, UDP не подразумевает установки соединения. Поэтому, единственным способом проверить наличие службы на этом порту - попробовать послать туда датаграмму с какой-нибудь командой известной серверу и посмотреть, что ответит сервер. Кстати, если сервер работает только на приём или его настройки диктуют ему принимать данные от определённых источников, то не поможет даже это.

Второй твой фрагмент кода бессмысленнем - TCP-сокет работает только с TCP-портами. У тебя на машине может быть одновременно прослушиваться UDP-порт 7777 и TCP-порт 7777 и они друг о друге знать не будут.

Добавлено через 8 минут
Кстати, глупый вопрос: а ты искал документацию на этот игровой сервер? Я больше, чем уверен, что в нём предусмотрена возможность "пингануть" сервер и опросить его, что узнать, что это - именно то, что нужно, а не сервис раздачи биржевых котировок фирм по продаже бананов в Парагвае.
1
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 12:39  [ТС]
Usaga, искал, нет ничего.

Добавлено через 1 минуту
Diamante, при запуске сервера указываешь какой порт использовать, стандарт для этой игры 7777. Далее вбиваем netstat -tulpan и видно, что сервер открыт для мира на порту 7777 udp.

Добавлено через 1 час 36 минут
На занятость порта никак не проверить?
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,398
20.10.2016, 14:45
Цитата Сообщение от vinste Посмотреть сообщение
На занятость порта никак не проверить?
Я тебе уже обрисовал ситуацию. Что тебе не ясно в моём прошлом сообщении? Или ты имеешь в виду, что нужно проверить занятость порта на локальной машине ?
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 14:52  [ТС]
Usaga, нужно проверить на занятость порта 7777 на vds сервере. Не на доступность (открыт, закрыт), а именно на занятость(свободен,занят)
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,398
20.10.2016, 16:12
vinste, у UDP нет такого понятия как открыт\закрыт\свободен\занят. Либо его прослушивает какой-то сервис, либо нет. Локально, это узнать можно (операционка в курсе, кто и какие порты пытается использовать). А вот удалённо только один способ - попытаться пообмениваться данными со службой слушающей данный порт. Если на нём ничего нет, то ответа ты не получишь. Так же ответа ты не получишь, если служба не захочет отвечать.

Добавлено через 6 минут
Скажи, чего ты добиться пытаешься? Если у тебя есть доступ к этому VDS, то ты автоматически должен быть в курсе того, что там происходит, что там открыто\закрыто.
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 16:13  [ТС]
Usaga, Хорошо, как допустим опросить данный порт? Отправить что нибудь и получить ответ? Помогите программно.
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,398
20.10.2016, 16:17
Попробуй так.
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 18:35  [ТС]
Usaga, при принятии информации, по примеру, он принимает вечно. Ждал минут 20, ничего не произошло, снял задачу программы, убив её.
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,398
20.10.2016, 19:46
vinste, может быть это потому, что никто ничего не шлёт?
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 19:54  [ТС]
Usaga, именно), попробовал отправить слово тест, в ответ все равно ничего не происходит... Я уже не знаю... Не может быть такого, чтобы никто с этим не сталкивался... Что делать :/ не знаю
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.10.2016, 20:07
Цитата Сообщение от vinste Посмотреть сообщение
Не может быть такого, чтобы никто с этим не сталкивался
Если этот сервер публичный, вы бы хоть его адрес огласили, что-ли... Может кто-то и занимался таким вопросом. А создавать сферических коней тут не умеют.
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 20:08  [ТС]
insite2012, Вот ип 176.32.36.47:7777 игрового сервера.

Добавлено через 34 секунды
Вот ип не рабочего сервера (отключенного) 176.32.36.47:7770 (ПРИМЕР)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.10.2016, 20:13
Цитата Сообщение от vinste Посмотреть сообщение
Вот ип 176.32.36.47:7777 игрового сервера.
Он для внешнего доступа из браузера доступен? Или к нему подключаются только программно?
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 20:18  [ТС]
insite2012, как правильно обьяснить - не знаю. Но есть сайт, "мониторинг игровых серверов SA-MP", там пишется о любом запущенном сервере информация: Статус, сколько игроков и т.д. Пример таких мониторингов:
https://samp-rating.ru/

Добавлено через 1 минуту
Вот статистика, выше указанного адреса: https://samp-rating.ru/server/6798/
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.10.2016, 20:24
Цитата Сообщение от vinste Посмотреть сообщение
там пишется о любом запущенном сервере информация: Статус, сколько игроков и т.д.
Хм... А что мешает использовать этот сайт для своих целей? Например, узнать количество игроков, если 0-то сервер не используется.
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 20:26  [ТС]
insite2012, Потому что, для начала нужно будет написать АПИ авторизации на этот сайт, далее АПИ для добавления нового сервера, далее АПИ для считывания информации. Слишком гиблое дело, а если вдруг сайт закроется.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
20.10.2016, 20:28
Цитата Сообщение от vinste Посмотреть сообщение
для начала нужно будет написать АПИ авторизации на этот сайт, далее АПИ для добавления нового сервера, далее АПИ для считывания информации. Слишком гиблое дело
А кому сейчас легко? Если других вариантов нет, то этот путь вполне приемлем.
Цитата Сообщение от vinste Посмотреть сообщение
а если вдруг сайт закроется.
Всякое может быть. Но информация вам нужна здесь и сейчас, а думать о том, что будет, если... не имеет смысла.
0
0 / 0 / 1
Регистрация: 26.02.2015
Сообщений: 59
20.10.2016, 21:56  [ТС]
insite2012, По моему я нашел решение, сейчас проверю и отпишусь.

Добавлено через 1 час 28 минут
http://wiki.sa-mp.com/wiki/Query_Mechanism/Csharp

Вот полезная стать! Получилось не только состояние сервера проверить, но и получить полную информацию о нём, с помощью отправки запросов на UDP порт (впринципе в данной теме решение шло в ту тему, то что именно отправлять, никто бы не смог сказать, без данной статьи) Всем спасибо за старания, до скорых вопросов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2016, 21:56
Помогаю со студенческими работами здесь

Проверка активности пользователя
пишу программу под windows server. пользователи работающие в данный момент активны, а те которые отключились от сеанса отключены. нужно...

Слушание udp порта
Создаем сервер udp, слушаем порт, как можно сделать так чтобы пока я обрабатываю 1 полученный пакет, все остальные в очереди стоят, чтобы...

Достучаться до порта UDP из интернета
Здравствуйте. Я уже не знаю что делать, ребят, может подскажите. Задача такая, На сервере под ОС "Debian GNU/Linux 7.0...

Использование TCP/UDP порта 2 программами
Есть один интересный вопрос: Возможно ли использование стандартного порта TCP/UDP используемого В Windows (например 3389, RDP)...

Проброс UDP порта при динамическом IP
Народ, такой вопрос, мне тут в МГТС сообщили что для того что бы пробросить порт UDP (именно UDP) через маршрутизатор RV6699 необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru