Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование, т. 5.1.

Рекомендованные сообщения

при чем тут веб серверы, /o

я вообще спрашиваю как сокеты для каждого клиента создавать

как это будет выгядеть?

DatagramSocket socket1 = new DatagramSocket(..)

DatagramSocket socket2 = new DatagramSocket(..)

 

и так далее?

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

Поделиться сообщением


Ссылка на сообщение

тогда в чем вопросы? там же все расписано; даже исходники ТукТук сервера и клиента даны


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

Странные вещи высказаны в статье, Откуда-то на клиенте взялась бизнес-логика на 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 (его я тоже люблю=)), В общем, к чему все это эссе: не существует серебрянных пуль, изучайте разные языки, вникайте в их дизайн, ищите плюсы и минусы и научитесь их использовать себе во благо. Не стройте себе тюрьму из предубеждений и не пытайтесь все новое запихать в узкую коробку, в который вы сидите, Возможно, то что вы так не любите, является ключом в целый новый мир (правда при условии, что вы перестанете пытаться запихать его себе в задницу, вместо замочной скважины =))

и что ты из этого понял?

А что из этого я не должен был понять? Или ты считаешь что веб-программисты могут только жквери плагины к странице подключать?

 

 

Ну ты зачем-то это вбросил. Какую-то цель же преследовал, видимо. Может быть, хотел показать нам мнение охуенного девелопера, который попробовал с++ в школе, в универе ему выебали мозг всякой хуйней, в итоге первое, с чем ему пришлось серьезно взаимодействовать - это с#, жс, и собирание всего этого вместе. Да и в школе он видимо уделял больше внимания программированию, чем русскому языку (судя по его посту), в чем я, в принципе, тоже сомневаюсь. Не думаю, что это мнение можно считать хоть сколько-нибудь авторитетным.

И ох уж эти тысячи бажных проектов на с++. Аналогов которым по производительности и стабильности на "гибком" жс нету. В своей области конечно. Но вроде с++ из нее никуда и не вылезеат. Уж лучше я буду сидеть на своих задачах в статической типизации и разочаровываться как Кармак, чем лепить с помощью жс очередной кусок говна


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение

Запостил уж точно не для того чтобы оскорбить ваши религиозные чувства. Просто многие с недопониманием относятся к жаваскрипту, и считают его максимум шутливой игрушкой, в то время, как на деле это достаточно функциональный язык с кучей интересных вещей, и на котором не придется скучать при разработке сложных приложений.


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение

турбоказик тоже не скучный язык


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

жаль, ее-фабрики не такие смешные


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

Сервер у тебя на чем?

на том доки и читай

 

как напишешь, читай доки у того, на чем клиент.

Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данных


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

документации на оракле

"итак давайте научимся работать с udp"

>создаем у клиента MulticastSocket

 

а если у меня клиент .NET?

:avtorklif: :avtorklif: :avtorklif: :avtorklif:

СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПО

ну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/.


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

Сервер у тебя на чем?

на том доки и читай

 

как напишешь, читай доки у того, на чем клиент.

Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данных

о боже, ты несешь полную ересь.

сокеты, подсоединяется

канал передачи данных

просто, ноу кометс. :avtorklif:

 

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

у меня ДВА сокета у сервера: один слушает, другой рассылает.

и я их вызываю по очереди в одном while лупе в одним треде

и вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?

Два сокета на сервере? WAT

Тебе же уже всё написали про стандартный подход. Ебать клоун

Поделиться сообщением


Ссылка на сообщение
(изменено)

документации на оракле

"итак давайте научимся работать с udp"

>создаем у клиента MulticastSocket

 

а если у меня клиент .NET?

:avtorklif: :avtorklif: :avtorklif: :avtorklif:

СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПО

ну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/.

спасибо.

 

Сервер у тебя на чем?

на том доки и читай

 

как напишешь, читай доки у того, на чем клиент.

Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данных

о боже, ты несешь полную ересь.

сокеты, подсоединяется

канал передачи данных

просто, ноу кометс. :avtorklif:

 

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

у меня ДВА сокета у сервера: один слушает, другой рассылает.

и я их вызываю по очереди в одном while лупе в одним треде

и вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?

Два сокета на сервере? WAT

Тебе же уже всё написали про стандартный подход. Ебать клоун

Может тыкнешь где именно написали?

Я что-то не нашел. :hmm:

 

Может моя ситуация требует нестандартный подход? Все таки мультиплеер игра.

Кароче придется все-таки рыться в исходниках q3


Изменено пользователем Обязательное_поле

Поделиться сообщением


Ссылка на сообщение

документации на оракле

"итак давайте научимся работать с udp"

>создаем у клиента MulticastSocket

 

а если у меня клиент .NET?

:avtorklif: :avtorklif: :avtorklif: :avtorklif:

СКИНЬТЕ УЧЕБНИК КТОНИБУДЬ ПРО UDP СЕРВЕР-КЛИЕНТ ПО

ну раз ты такой придирчивый. читай, на - http://www.fatcow.com/edu/bgnet-be/.

спасибо.

 

Сервер у тебя на чем?

на том доки и читай

 

как напишешь, читай доки у того, на чем клиент.

Сокетам абсолютно срать, кто к ним подсоединяется, ведь это просто канал передачи данных

о боже, ты несешь полную ересь.

сокеты, подсоединяется

канал передачи данных

просто, ноу кометс. :avtorklif:

 

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

у меня ДВА сокета у сервера: один слушает, другой рассылает.

и я их вызываю по очереди в одном while лупе в одним треде

и вопрос заключался в том, что есть ли это стандартный подход в мире ИТ, или я не угадал?

Два сокета на сервере? WAT

Тебе же уже всё написали про стандартный подход. Ебать клоун

Может тыкнешь где именно написали?

Я что-то не нашел. :hmm:

 

Может моя ситуация требует нестандартный подход? Все таки мультиплеер игра.

Кароче придется все-таки рыться в исходниках q3

Вот ответ

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

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

http://www.oracle.com/technetwork/java/socket-140484.html

Поделиться сообщением


Ссылка на сообщение

Странные проблемы. А просто взять и скачать нетворкинг библиотеку нельзя. Нужно самому велосипеды изобретать. А потом их настраивать. А потом дебажить. А потом переделывать, потому что исчерпан лимит архитектуры.

Поделиться сообщением


Ссылка на сообщение
(изменено)

ага, значит по идее мне надо бы пихнуть сокетный код в класс Игрок?

И в принципе каждый объект Игрок будет ассоциирован со собственным сокетом.

 

Еще один вопрос:

Значит я МОГУ насумонить несколько DatagramSocket'ов на один и тот же порт? :palevo:

 

Странные проблемы. А просто взять и скачать нетворкинг библиотеку нельзя. Нужно самому велосипеды изобретать. А потом их настраивать. А потом дебажить. А потом переделывать, потому что исчерпан лимит архитектуры.

у меня такая черта характера :zloy:

уже поздно переделывать код, я уже написал много работающего кода

но след раз буду сначала учить теория а потом браться за код, обещаю :trollface:


Изменено пользователем Обязательное_поле

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...