> Пример с иркой и 1500+ содеинений некорректен. Речь не идет о 1500 сокетов разных клиентов.
Вы действительно не понимаете или нарочно это говорите? Я вам о том говорю, что в нашей галактике существуют программы, которые могут держать 1500 сокетов и обслуживать их без тормозов даже на самом скоромном железе. Вы же отмахиваетесь на тему что у вас плохая реализация и поэтому несколько сокетов *у вас* тормозит, поэтому вы делаете непонятно что с протоколом (собственная фрагментация и другие усложнения -- это всё лишний код. чем больше строк кода -- тем больше вероятность ошибки). Так кто же вам мешает нормально разобраться как же в этой Джаве сделать *два* сокета (не тысячу пятьсот, всего два!) так, чтобы не тормозило?
> ...если в сообщении 10 картинок, то при отправке 1500 клиентам данного сообщения...
... сервер просто будет дико тормозить несколько минут от такого трафика. Сокеты тут не при чём.
Пусть в сообщении 5 картинок по 250 кбайт. Итого ~1200 кбайт. 1500 клиентов * 1200 кб = 1,8 Гбайт. Пусть даже сервер передаёт по 10 мбайт/сек (хотя это очень редко достигается, например когда уже долго идёт большая передача и стороны договорились об увеличении окна TCP). 1800 Мб / 10 Мб/сек = 180 сек = 3 минуты. Это при оптимальных условиях. Реально будет минут пять. Traffic amplification attack, что тут скажешь.
У меня в OSpaChat всё нормально с сокетами в java, я использовал java.nio, который как раз предназначен для серверов с большой нагрузкой для обработки тысяч сокетов одновременно. Сокеты в OSpaChat создаются при подключении клиента к серверу (при входе пользователя в чат, т.е. при авторизации на сервере клиентом), а не при передаче очередной порции данных (картинки, сообщения).
> а в локалке иногда интерено узнать конфиг того же железа и чтоб по 50 раз не слать его интересующимся это отображается в карточке пользователя ..
и вот это:
> + то что пользователь посчитае нужным сообщить
Как по вашему, сколько пользователей посчитает нужным сообщить свою реальную конфигурацию? Большинство напишет, что у них C2Q 10ГГц + 64Гб RAM. И такая гонка вооружений будет продолжаться долго.
> Я хочу сделать чат, удобным для всех. Ирка и жаббер не повернуты лицом к пользователю.
Если хотите сделать его удобным для всех, то используйте стандартный протокол, дабы я САМ мог решать, каким клиентом мне пользоваться. Мне ваш комбайн нафиг не нужно. Я хочу и буду пользоваться тем Jabber-клиентом, который удобен для меня, а не для разработчика Васи Пупкина и Ко.
Пользутейсь тем, что считаете удобным.
OSpaChat не жаббер-совместимый.
А стандартный протокол фтопку. Я делаю выкрутасы какие хочу со своим протоколом и не завишу ни от каких стандартнов и не привязан. Я могу делать и творить что угодно и мне это нравится. Полная свобода.
> А стандартный протокол фтопку. Я делаю выкрутасы какие хочу со своим протоколом и не завишу ни от каких стандартнов и не привязан. Я могу делать и творить что угодно и мне это нравится. Полная свобода.
Вам уже ни один раз говорили - посмотрите на протокол Jabber. У вас сразу отпадет масса вопросов по поводу совместимости, свободы, расширяемости.
То, как вы сейчас упираетесь говорит только о вашей недальновидности. Мне жаль ваших пользователей, которым со временем придется сменить клиента.