Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Запущена программа - сервер, как можно прослушать соединения? / 7 сообщений из 7, страница 1 из 1
23.02.2007, 23:10:58
    #34352459
Zeleboba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
Встал ребром следующий вопрос. На моем пк есть готовое скомпиленое приложение - короче комерческая программа. Программа реализует на моем пк небольшой сервер Tcp к которому конектится небольшое количество клиентов,сервер работает на одном определенном порту. Предположим клиенты при коннекте предоставляют о себе какую-то дополнительную информацию, например никнэйм. Я хочу вести учет пользователей которым предосталяются услуги конекта к мокму пк. То есть мне нужно слушать каким то образом кто конектится к порту сервера, не смотря на то что сокет резервирует программа а мешать работе программы мне нельзя.
Как это можно реализовать? По такому принципу работают такие программы как например TCPview.
Сначала я делал так
Код: plaintext
1.
2.
3.
4.
5.
                            
                 while (true){
            ServerSocket ss =  new  ServerSocket(port); 
               new  processSocket(ss.accept());                      // processSocket это новый тред который создается для работы со следующим клиентом .                        
              }
      
Должен сказать что раньше мне вообше с сетью не прходилось иметь дело, и соответственно с java.net - вот только сейчас понадобилось, я посмотрел, посему конечно опыта нет.
В processSocket я могу прочитать конечно данные которые меня интересуют о клиенте, но таким образом та другаю программа-сервер не получит этих клиентов, а этого делать мне нельзя.
Подскажите как быть? Наверняка решение есть, т.к выше упомянуьтый TCPview все это делает, он спокойно смотрит
хосты и все остальное у клиентов в то же время не мешая работе программ-серверов к которым они конектятся. Проще говоря нужно сделать что-то наподобе TCPview но не для всех портов а для конкретного. Подскажите где копать.
...
Рейтинг: 0 / 0
23.02.2007, 23:19:13
    #34352465
Zeleboba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
ServerSocket ss = new ServerSocket(port); - это находится вне while(){ }
...
Рейтинг: 0 / 0
23.02.2007, 23:22:56
    #34352470
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
Самый ядреный вариант - использовать снифер (JPcap). Он вам все снимет. Либо попробовать реализовать прокси и запускать сервер через него.
...
Рейтинг: 0 / 0
23.02.2007, 23:45:37
    #34352491
Zeleboba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
С проксей есть проблемы, клиенты конектятся к определенному порту, который резервирует программа. Поменять порт в программе я не могу. Мне тут сказали посмотреть GetTcpTable , но я пока не знаю что это.
...
Рейтинг: 0 / 0
23.02.2007, 23:46:31
    #34352492
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
Leonidvреализовать прокси и запускать сервер через него.
+1
...
Рейтинг: 0 / 0
23.02.2007, 23:50:09
    #34352496
Zeleboba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
Спасибо, посмотрю на Jpcap , надеюсь найду исходники .
...
Рейтинг: 0 / 0
24.02.2007, 00:28:14
    #34352515
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запущена программа - сервер, как можно прослушать соединения?
ZelebobaС проксей есть проблемы, клиенты конектятся к определенному порту, который резервирует программа. Поменять порт в программе я не могу.
Можно разделить самодельный прокси и тестируемый сервер по ip-адресам. Т. е. прокси живет на одном ip, а сервер на другом, при этом порты одинаковые.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Запущена программа - сервер, как можно прослушать соединения? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]