powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Потоки-сокеты - не пойму, тосрабатывает, то нет...
8 сообщений из 8, страница 1 из 1
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382709
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойму - у меня два сокет-клиента и один сокет-сервер. Сокет-сервер - в основном потоке, каждый клиент-сокет запускается в своем отдельном потоке.


Почему-то в нетбинсе пытаюсь встать на точку останова в процедурах в потоке - не могу, хотя переменные, устанавливаемые в процедурах, устанавливаются. Впрочем, в одном потоке устанавливаются, в другом - нет. Если запущено два потока - все работает хорошо... Если три - сбоит...

Кто-нибудь подскажет в чем там дело?
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382814
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) Погадал на кофе, выпало что ошибка где-то в коде.
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382841
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл ник ,
А я пришел к выводу, что автор что-то делает не так. Надеюсь, наши советы ему помогут
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382851
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEVcoach забыл ник ,
А я пришел к выводу, что автор что-то делает не так. Надеюсь, наши советы ему помогут
Ну а как мне все проверить-то? вот теперь я создал три потока. В первом - сокет-сервер по одному порту, во-втором - сокет-клиент по другому, в третьем - сокет-клиент по третьему порту. Во всех потоках непрерывный цикл, в котором проверяю есть ли входная информация по сокету и отправляю в них команды по необходимости. Информация входная меняется довольно динамично.

Поставил точки останова во всех трех потоках. В первый-второй попадаю, в третий - нет...

А как мне ошибку отловить? И как правильные пацаны такие случаи программируют?
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382900
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну раз намеков не понимаете, то скажу прямо - покажите код
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382906
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Без кода ничего сказать нельзя.
Классический подход выглядит следующим образом.

1) У вас висит в бесконечном цикле acceptor thread. Он блокируется на socket.accept() и ждет соединения от клиента.
2) Как только подключается клиент, он перекидывает его в отдельный поток. Клиентский поток в первом приближении можно создавать руками в момент подключения клиента. Но это неэффективно из-за высоких накладных расходов на создание и запуск потоков. Поэтому правильные пацаны держат ThreadPool, в который и делегируют запрос клиента.

Вот и все.
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382925
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никну раз намеков не понимаете, то скажу прямо - покажите код
Теперь уже в понедельник...
...
Рейтинг: 0 / 0
Потоки-сокеты - не пойму, тосрабатывает, то нет...
    #38382930
else12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DEVcoachБез кода ничего сказать нельзя.
Классический подход выглядит следующим образом.

1) У вас висит в бесконечном цикле acceptor thread. Он блокируется на socket.accept() и ждет соединения от клиента.
2) Как только подключается клиент, он перекидывает его в отдельный поток. Клиентский поток в первом приближении можно создавать руками в момент подключения клиента. Но это неэффективно из-за высоких накладных расходов на создание и запуск потоков. Поэтому правильные пацаны держат ThreadPool, в который и делегируют запрос клиента.

Вот и все.
У меня примерно так и есть. Точнее почти так. С той разницей, что я клиентские сокеты создаю сразу в отдельном потоке перед accept-ом, благо, что они работают каждый со своими портами. Если связи с сервером нет, то клиент в бесконечном цикле пытается ее установить, если связь есть - в бесконечном цикле пытается считывать информацию из сокета и отправлять в сокет нужные команды. Если связь разрывается, то клиент пытается ее вновь установить в том же потоке.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Потоки-сокеты - не пойму, тосрабатывает, то нет...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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