| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Какая программа использует порт? |
| Автор: E_v_g 2.3.2007, 01:51 |
| Исходные данные: номер порта и имя программы (серверная часть). Причем может быть несколько одновременно запущенных экземпляров сервера, слушающих разные порты. Требуется по номеру порта определить, слушает ли его сервер и если да, то закрыть программу-сервер. Как реализовать? |
| Автор: Matematik 2.3.2007, 10:53 |
| http://rouse.drkb.ru/network.php#tcpstat |
| Автор: E_v_g 2.3.2007, 14:13 |
| Видел уже что-то подобное. Вот выдержка из результата работы этой программы: 127.0.0.1: | 27016 | ESTABLISHED | RS.exe | (3284) 127.0.0.1: | 1847 | ESTABLISHED | RemoteClient.exe | (1868) RS.exe - это мой сервер, RemoteClient.exe - это мой клиент. Они соединились по порту 92552. Чтой-то я не вижу в этом листинге моего порта... |
| Автор: dodik 3.3.2007, 01:07 |
| не может быть порт 92552, их всево 65к с копейками |
| Автор: E_v_g 5.3.2007, 10:46 |
| Почему же тогда с 92552 работает? Проверено! |
| Автор: MetalFan 5.3.2007, 11:34 | ||
ага) работает. а что же не работать? ты какие компоненты используешь? чаще всего порт задается в Integer, хотя в "кишках" происходит неявное преобразование в word. в листинге и не будет "твоего" порта, если он > максимального значения двойного слова (65535). смотри:
легким движением твой 92552 превращается в 27016. |
| Автор: W1zArD 5.3.2007, 15:35 |
| htons htonl WinSock.pas |
| Автор: aktuba 5.3.2007, 15:42 | ||
какая разница, что ты используешь? портов все-равно 65535... ну нету больше. так что, когда ты задаешь значение в интежер - любая библиотека преобразует (точнее урежет) его до Word, как и показал Metalfan... Он тебе даже показал результат, который у тебя и есть - 27016... P.S.: как ты можешь работать с сетью, если даже не знаешь, что такое порт??? |
| Автор: E_v_g 6.3.2007, 05:01 |
| Да знаю я, просто по запарке выставил, проверил - работает, ну и оставил. Действительно, если < 65000, то все как надо. Спасибо! |