DIMAN123456789 #1621 18 ноября 2013 при чем тут веб серверы, /oя вообще спрашиваю как сокеты для каждого клиента создаватькак это будет выгядеть?DatagramSocket socket1 = new DatagramSocket(..)DatagramSocket socket2 = new DatagramSocket(..) и так далее?Ты видимо нихуя не понимаешь. Ты вешаешь один лисенер на порт и случаешь все входящие потоки в бесконечном в цикле. По идее у тебя будет один ServerSocket и много ClientSocket-ов, прочитай любую статью по сетевому программированию, сразу поймешь о чем речь. Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1622 18 ноября 2013 (изменено) 1 Изменено 29 апреля 2014 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
KotZhilkina #1623 18 ноября 2013 хоть бы теорию почитал преждем чем в бой кидаться http://docs.oracle.com/javase/tutorial/networking/sockets/definition.html Публикация отключена Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1624 18 ноября 2013 документация оракла не теория? Поделиться сообщением Ссылка на сообщение
KotZhilkina #1625 18 ноября 2013 тогда в чем вопросы? там же все расписано; даже исходники ТукТук сервера и клиента даны Публикация отключена Поделиться сообщением Ссылка на сообщение
Tinplz #1626 18 ноября 2013 (изменено) Странные вещи высказаны в статье, Откуда-то на клиенте взялась бизнес-логика на js в 100000 строк, Я, честно, говоря не видел пока клиентских браузерных проектов таких объемов, Во-вторых, что за странная убежденность, что статическая типизация хоть в каком-то виде спасает от проблем в масштабных проектах? Тысячи проектов бажных на C++ тому пример, более того не спасает даже дополнительный статический анализ кода (почитайте Джона Кармака о его энтузиазме и разочаровании в статическом анализе C++ кода), В подобных проектах проблемы связаны не с языком, а с архитектурой приложения, инфраструктурой тестирования и т.д. Вся проблема, описываемая в статье, возникает из ложного посыла о том, что динамическая природа языка — источник всех бед, Меня, честно говоря, сильно раздражает раздутая паника вокруг js (и ее производные в виде TypeScript), т.к. сам прошел все эти стадии в начале своей карьеры программиста. И именно поэтому считаю подобный подход незрелым, Я начинал изучать программирование C/C++ еще в школе, на работе познакомился с C# и первое время JS меня раздражал, Я просто его не понимал, Совершенно, Весь мой языковой кругозор ограничивался императивными статически-типизированными языками и больше для меня мира программирования не существовало, С таким кругозором JS мне казался шуткой, девиацией, Я настолько его ненавидел что на рабочем столе у меня была фотография Брендана Ахо с нецензурной подписью, Подобную же реакцию я испытал, например, по отношению к Lisp, когда познакомился с ним в университете, Но я нашел в себе силы (а вернее меня вынудила работа =)) все таки углубится в JS, И мое мнение изменилось, Этот язык не идеален, как и все в этом мире. Но преодолев порог вхождения («где классы?», «фу прототипы», «фу динамическая типизация» и прочее) я чувствую себя как рыба в воде, Мне очень нравится гибкость языка, возможность буквально заниматься «лепкой» кода, т.к. в js я не так сильно ограничен синтаксисом, как в статически-типизированных языках, Я вижу в нем свою элегантность, Перейдя через эту «гору ненависти к JS» в свое время я открыл для себя другой мир программирования, где не IDE диктует мне мышление, не язык, а мышление определяет мой образ действий, Моя «программисткая ксенофобия» прошла, С этим ощущением я решил дать второй шанс Lisp и открыл для себя мир функционального программирования, я вернулся к C и мне теперь он во многом нравится на много больше C++, Я осознал, что восприятие ООП, как панацеи от всего наивно, Мне все еще нравится C#, но теперь я вижу сколько оверинджиниринга и бутстрап-кода приходится в нем писать, что бы поддержать эфимерную парадигму, Наверно, главное чем мне нравится JS — это его выразительная способность, У Эдварда Тафти в книга есть понятие DataInk приминительно к аналитической графике (чарты, инфографика и прочее), DataInk — это отношение чернил, используемых для отображения полезной информации, информации при потере которой, график перестанет выполнять свое информационное предназначение к общему количеству чернил, использованных для отображения графика, Чем ближе это значение к 1, тем лучше, Для кода я бы ввел такую же характеристику DataCode — отношение кода, который выражает непосредственно решение задачи ко всему написанному коду, Так вот, это значение у JS ближе к 1, нежели у многих других языков, Тоже касается C (его я тоже люблю=)), В общем, к чему все это эссе: не существует серебрянных пуль, изучайте разные языки, вникайте в их дизайн, ищите плюсы и минусы и научитесь их использовать себе во благо. Не стройте себе тюрьму из предубеждений и не пытайтесь все новое запихать в узкую коробку, в который вы сидите, Возможно, то что вы так не любите, является ключом в целый новый мир (правда при условии, что вы перестанете пытаться запихать его себе в задницу, вместо замочной скважины =)) и что ты из этого понял?А что из этого я не должен был понять? Или ты считаешь что веб-программисты могут только жквери плагины к странице подключать? Ну ты зачем-то это вбросил. Какую-то цель же преследовал, видимо. Может быть, хотел показать нам мнение охуенного девелопера, который попробовал с++ в школе, в универе ему выебали мозг всякой хуйней, в итоге первое, с чем ему пришлось серьезно взаимодействовать - это с#, жс, и собирание всего этого вместе. Да и в школе он видимо уделял больше внимания программированию, чем русскому языку (судя по его посту), в чем я, в принципе, тоже сомневаюсь. Не думаю, что это мнение можно считать хоть сколько-нибудь авторитетным.И ох уж эти тысячи бажных проектов на с++. Аналогов которым по производительности и стабильности на "гибком" жс нету. В своей области конечно. Но вроде с++ из нее никуда и не вылезеат. Уж лучше я буду сидеть на своих задачах в статической типизации и разочаровываться как Кармак, чем лепить с помощью жс очередной кусок говна Изменено 18 ноября 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
Двапой #1627 18 ноября 2013 Запостил уж точно не для того чтобы оскорбить ваши религиозные чувства. Просто многие с недопониманием относятся к жаваскрипту, и считают его максимум шутливой игрушкой, в то время, как на деле это достаточно функциональный язык с кучей интересных вещей, и на котором не придется скучать при разработке сложных приложений. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
KotZhilkina #1628 18 ноября 2013 турбоказик тоже не скучный язык Публикация отключена Поделиться сообщением Ссылка на сообщение
Двапой #1629 18 ноября 2013 Да, без турбоказика топик уже не тот. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
KotZhilkina #1630 18 ноября 2013 жаль, ее-фабрики не такие смешные Публикация отключена Поделиться сообщением Ссылка на сообщение
Двапой #1631 18 ноября 2013 Зато достаточно экзистенциальные, чтобы было о чем подумать после работы. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1632 18 ноября 2013 (изменено) 1 Изменено 29 апреля 2014 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
Kant #1633 18 ноября 2013 Сервер у тебя на чем?на том доки и читай как напишешь, читай доки у того, на чем клиент.Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данных Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
KotZhilkina #1634 18 ноября 2013 документации на оракле"итак давайте научимся работать с udp">создаем у клиента MulticastSocket а если у меня клиент .NET? :avtorklif: :avtorklif:СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПОну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/. Публикация отключена Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1635 18 ноября 2013 (изменено) 1 Изменено 29 апреля 2014 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
AVTORKLIF #1636 18 ноября 2013 Сервер у тебя на чем?на том доки и читай как напишешь, читай доки у того, на чем клиент.Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данныхо боже, ты несешь полную ересь.сокеты, подсоединяетсяканал передачи данныхпросто, ноу кометс. я уже писал, что сервер у меня на джава. он уже работает как надо, осталось разобраться как эффективнее транслировать нескольким клиентам состояние игрыу меня ДВА сокета у сервера: один слушает, другой рассылает.и я их вызываю по очереди в одном while лупе в одним тредеи вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?Два сокета на сервере? WATТебе же уже всё написали про стандартный подход. Ебать клоун Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1637 18 ноября 2013 (изменено) документации на оракле"итак давайте научимся работать с udp">создаем у клиента MulticastSocket а если у меня клиент .NET? :avtorklif: :avtorklif:СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПОну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/.спасибо. Сервер у тебя на чем?на том доки и читай как напишешь, читай доки у того, на чем клиент.Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данныхо боже, ты несешь полную ересь.сокеты, подсоединяетсяканал передачи данныхпросто, ноу кометс. я уже писал, что сервер у меня на джава. он уже работает как надо, осталось разобраться как эффективнее транслировать нескольким клиентам состояние игрыу меня ДВА сокета у сервера: один слушает, другой рассылает.и я их вызываю по очереди в одном while лупе в одним тредеи вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?Два сокета на сервере? WATТебе же уже всё написали про стандартный подход. Ебать клоунМожет тыкнешь где именно написали?Я что-то не нашел. Может моя ситуация требует нестандартный подход? Все таки мультиплеер игра.Кароче придется все-таки рыться в исходниках q3 Изменено 18 ноября 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
AVTORKLIF #1638 18 ноября 2013 документации на оракле"итак давайте научимся работать с udp">создаем у клиента MulticastSocket а если у меня клиент .NET? :avtorklif: :avtorklif:СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПОну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/.спасибо. Сервер у тебя на чем?на том доки и читай как напишешь, читай доки у того, на чем клиент.Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данныхо боже, ты несешь полную ересь.сокеты, подсоединяетсяканал передачи данныхпросто, ноу кометс. я уже писал, что сервер у меня на джава. он уже работает как надо, осталось разобраться как эффективнее транслировать нескольким клиентам состояние игрыу меня ДВА сокета у сервера: один слушает, другой рассылает.и я их вызываю по очереди в одном while лупе в одним тредеи вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?Два сокета на сервере? WATТебе же уже всё написали про стандартный подход. Ебать клоунМожет тыкнешь где именно написали?Я что-то не нашел. Может моя ситуация требует нестандартный подход? Все таки мультиплеер игра.Кароче придется все-таки рыться в исходниках q3Вот ответТы видимо нихуя не понимаешь. Ты вешаешь один лисенер на порт и случаешь все входящие потоки в бесконечном в цикле. По идее у тебя будет один ServerSocket и много ClientSocket-ов, прочитай любую статью по сетевому программированию, сразу поймешь о чем речь.Сервер сокет слушает порт и эксептит соединения, возвращая инстанс клиент сокета. Потом в бесконечном цикле в отдельном потоке считываешь из этого клиент сокета, обрабатываешь и отправляешь ответ.http://www.oracle.com/technetwork/java/socket-140484.html Поделиться сообщением Ссылка на сообщение
Tinplz #1639 18 ноября 2013 Странные проблемы. А просто взять и скачать нетворкинг библиотеку нельзя. Нужно самому велосипеды изобретать. А потом их настраивать. А потом дебажить. А потом переделывать, потому что исчерпан лимит архитектуры. Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1640 18 ноября 2013 (изменено) ага, значит по идее мне надо бы пихнуть сокетный код в класс Игрок?И в принципе каждый объект Игрок будет ассоциирован со собственным сокетом. Еще один вопрос:Значит я МОГУ насумонить несколько DatagramSocket'ов на один и тот же порт? Странные проблемы. А просто взять и скачать нетворкинг библиотеку нельзя. Нужно самому велосипеды изобретать. А потом их настраивать. А потом дебажить. А потом переделывать, потому что исчерпан лимит архитектуры.у меня такая черта характера уже поздно переделывать код, я уже написал много работающего кодано след раз буду сначала учить теория а потом браться за код, обещаю Изменено 18 ноября 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение