powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / сеть
17 сообщений из 42, страница 2 из 2
сеть
    #33025861
black zorro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант воспользоваться широковещательной рассылкой.
вместо того чтобы хранить список клиентов и в цикле всем им слать сообщение, к тому же так быстрее будет рабоать, хотя какая, к слову скорость для диплома?
...
Рейтинг: 0 / 0
сеть
    #33025874
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
black zorroкак вариант воспользоваться широковещательной рассылкой.
вместо того чтобы хранить список клиентов и в цикле всем им слать сообщение, к тому же так быстрее будет рабоать, хотя какая, к слову скорость для диплома?
:)) Главное чтобы хоть как-нибудь работал, а пока вообще не работает.
Тут же еще типа вопросы "безопасности" есть. У меня в клиенте предполагается проверка запроса, а потом на сервере. Смешно самой.
Зато по правилам
...
Рейтинг: 0 / 0
сеть
    #33025908
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неа wessen херась тут думатьjms все проблемы решит
чтобы был jms нужен сервер приложение, а это уже совсем другая история....
ни нужен
Просвети не знающих.
...
Рейтинг: 0 / 0
сеть
    #33025944
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
wessen неа wessen херась тут думатьjms все проблемы решит
чтобы был jms нужен сервер приложение, а это уже совсем другая история....
ни нужен
Просвети не знающих.
тынц
...
Рейтинг: 0 / 0
сеть
    #33026477
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребзя! давайте вернемся к истоку...
во-первых, так никто и не ответил на второй МОЙ вопрос.
во-вторых, Я диплом еще не пишу, пока только бакалаврскую (и то не по теме),и мне хотелось бы узнать КАК один клиент может послать сообщение другому через сервер, если сокеты создается в бесконечном цикле прослушивания? Или надо создать массив сокетов и потом по индексу каким-то раком рассылать... Широковещательная рассылка не особо требуется.
Спасибо
...
Рейтинг: 0 / 0
сеть
    #33026485
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2wessen

wessenЯ когда с сокетами ознакомился, написал гуёвый чат на swing, там все как adf расписло, если надо, могу дать

спасибо, но не надо. хочется все-таки самому написать, но с маленькой помощью.

Так что там со вторым вопросом?
...
Рейтинг: 0 / 0
сеть
    #33026492
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mastanik2wessen

wessenЯ когда с сокетами ознакомился, написал гуёвый чат на swing, там все как adf расписло, если надо, могу дать

спасибо, но не надо. хочется все-таки самому написать, но с маленькой помощью.

Так что там со вторым вопросом?

Проще чем пример, который я тебе привела (это почти весь сервер), не получится наверно. Это и не корпоративная штука ( или как ты там назвал) и предназначена как раз для малого числа пользователей. И че за "второй вопрос"?
...
Рейтинг: 0 / 0
сеть
    #33026539
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adfПроще чем пример, который я тебе привела (это почти весь сервер), не получится наверно.

я и не пытаюсь написать как проще, хочется главное самому.

adfИ че за "второй вопрос"?

повторяю: препод сказал, что во время создавания нового экземпляра потока и его запуска
Код: plaintext
1.
2.
Socket client = ss.accept;
ClientTread thread =  new  ClientThread(client);
thread.start();

могут поступить несколько запросов на соединение, которые будут игнорированы. в чем вопрос: это так? если так, то как избежать?

корпоративная штука...гы8)
...
Рейтинг: 0 / 0
сеть
    #33026551
грасоф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mastanikпрепод сказал, что во время создавания нового экземпляра потока и его запуска
Код: plaintext
1.
2.
Socket client = ss.accept;
ClientTread thread =  new  ClientThread(client);
thread.start();

могут поступить несколько запросов на соединение, которые будут игнорированы. в чем вопрос: это так? если так, то как избежать?
а сколько лет преподу?
...
Рейтинг: 0 / 0
сеть
    #33026726
Фотография adf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mastanik
повторяю: препод сказал, что во время создавания нового экземпляра потока и его запуска
Код: plaintext
1.
2.
Socket client = ss.accept;
ClientTread thread =  new  ClientThread(client);
thread.start();

могут поступить несколько запросов на соединение, которые будут игнорированы. в чем вопрос: это так? если так, то как избежать?


Я ж тебе уже сразу на него по-моему ответила (это про синхронизацию)

Можешь его успокоить такими словами:
"Из документации по классу ServerSocet следует, что метод accept() не синхонизирован, то есть этот метод может быть вызван любым количестом нитей. Это действительно может приводить к нежелательным последствиям, поэтому при вызове рекомендуется использовать синхронизацию, что мы и делаем! Тем самым гарантируется, что только один клиент запустит этот метод в данный момент времени. Т. о. будет только одна нить, запущенная в методе accept() и n-1 ожидающих соединения" /Для пущей убедительности потрясать какой-нибудь толстой книжкой по Яве и аппелировать к Яну Ф. Дарвину, текст из книги "Java. Сборник рецептов" которого я тебе недословно привела/
...
Рейтинг: 0 / 0
сеть
    #33027097
Фотография Pitbull terrier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
? wessen неа wessen херась тут думатьjms все проблемы решит
чтобы был jms нужен сервер приложение, а это уже совсем другая история....
ни нужен
Просвети не знающих.
тынц


Эта штука стремится ставить себя как виндовский сервис.
Если это не сервер, то зачем эти телодвижения???
Баян!!!
...
Рейтинг: 0 / 0
сеть
    #33027151
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Препод не прав, тут дело даже не в Java. Когда создается серверный сокет, создается буфер в который помещаются все запросы но соединения, это делает сама ОС. Когда создается класс ServerSocket, то вероятно(точно не знаю, но по другому то и не как вроде) создается специальный поток, который этот самый буфер сканирует и как только туда попадает запрос, то метод accept создает Socket и возвращает его. Кстати, про метод accpet написано:
...The method blocks until a connection is made.
Следовательно синхронизировать его не надо.
Когда мы находимся в методе accept или уже вышли из него и создаем клиентский поток и чего нибудь еще там делается, то конечно же может поступить еще пара сотен запросов на соединение, так вот, они не куда не пропадут, они попадут в буфер и следующий вызов метода accept создаст сокет, запрос на который пришол последним, но уже после того, как мы были внутри accept :) Вот так бы я препода грузонул. Все ИМХО кстати.
...
Рейтинг: 0 / 0
сеть
    #33027394
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, особенно wessen и adf.
грасофа сколько лет преподу?
Скока лет точно не знаю, но этот перец, в дополнение к преподавательству, работает техдиром кой-какой компании, тесно связанной с Sun Microsystems.

2wessen
автор...The method blocks until a connection is made.
а где ты это прочел?

Может я чего упустил, но КАК ПЕРЕДАТЬ СООБЩЕНИЕ ОТ ОДНОГО ПОТОКА ДРУГОМУ?

спасибо
...
Рейтинг: 0 / 0
сеть
    #33027403
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а где ты это прочел?
Эта страница должна быть стартовой в твоем браузере :)
...
Рейтинг: 0 / 0
сеть
    #33027478
Фотография Pitbull terrier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mastanik
Может я чего упустил, но КАК ПЕРЕДАТЬ СООБЩЕНИЕ ОТ ОДНОГО ПОТОКА ДРУГОМУ?
спасибо

можно так: для каждого потока создаешь очередь сообщений (FIFO стек), которую он будет "слушать" (периодически пытаться выбирать элементы) и, если есть новые сообщения, обрабатывать их. Ссылки на очереди регистрируешь в каком-нть общедоступном вспомогательном классе, завязываешь их на идентификаторы твоих потоков. Когда надо передать сообщение потоку - выбираешь его очередь и передаешь ей сообщение.
...
Рейтинг: 0 / 0
сеть
    #33027693
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭта страница должна быть стартовой в твоем браузере :)
Да, у меня есть апи спецификация скаченная, просто подумал может еще какой хороший источник есть.

2Pitbull terrier
я что-то такое и задумывал...но обмозговать все нормально не могу
...
Рейтинг: 0 / 0
сеть
    #33031064
mastanik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто-нибудь еще что посоветует?
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / сеть
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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