![]() |
|
||||||||||
|
|||||
|
Кто может скинуть пример отправки и приёма сокетов с клиента и с сервера на PHP или Java? Если кто-то встречал, или может сам быстро накатать, скиньте пожалуйста.
Хотя в общем я бы хотел заодно спросить совета - какой язычок лучше для многопользовательских игр использовать?)
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 27.04.2014 в 16:17. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 159
|
Вот на этом сайте часто неплохие примеры кто-то выкладывает, и даже про сокеты:
http://help.adobe.com/ru_RU/FlashPla...xamplesSummary Цитата:
Я, ради прикола, на air писал, но тогда на никсах от него отказались и я забил)
__________________
Думаю на as3. Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева. |
|
|||||
|
Цитата:
__________________
There is no thing in this world that is not simple. |
|
|||||
|
listener
|
Вверну 5 копеечек. Вот
Тем временем в "страшном и ужасном" Си/С++ есть замечательные библиотеки-обвязки над сокетами на любой вкус. Из тех, что на слуху: boost::asio - тяжеленькая и по весу и по порогу, но ... это boost. libuv - платформа, на которой крутится node.js. (Си-style) libevent - асинхронный неблокирующий ввод-вывод. poco - высокоуровневая либа, содержит массу полезностей в удобных оберточках (a-ля C#). Конечно, изложенное выше, никак не призыв отказываться от привычных и знакомых инструментов, той же явы.. но все же .Ну, да. На любителя, кто-то скажет. Но профессионалы вполне себе пользуют. PS. очень жаль, что нет биндинга zmq (Zerо MQ) для флеша. Это... ну очень мощная обвязка для серверов. PSS. естественно, все опенсорс .UPD. Цитата:
Последний раз редактировалось alexcon314; 28.04.2014 в 10:56. |
|
|||||
|
Цитата:
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 159
|
Цитата:
Не "языки обмениваются", а приложения. На чем написаны, это уже дело другое. Возьмите какой нить простейший пример сервера на пхп, клиента на as3 из доки адоба, и поковыряйте.
__________________
Думаю на as3. Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева. |
|
|||||
|
Цитата:
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 159
|
так я и говорю, клиента на ас3 из примера адоба, что кинул, а сервер на пхп придется найди отдельно.
Это есть в гугле. Например http://habrahabr.ru/company/ifree/blog/209864/ Примеры на яве / сях гуглятся аналогино пхпшному...
__________________
Думаю на as3. Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева. |
|
|||||
|
listener
|
Цитата:
- есть передающая сторона и принмающая сторона (клиентский и серверный сокеты, это физическая сущность, заметьте) - клиент соединяется с сервером, при этом образуется канал связи - клиент записывает в канал данные - сервер вычитывает из канала данные - опционально, сервер может записать в канал данные для клиента (ответ сервера) - соединений разрывается. Средствами языка вы можете создавать сокеты, устанавливать соединения, писать-читать данные. Собственно, в любом языке так или иначе используется обвязка над сокетами, физического доступа к ним как такового нет, это прерогатива ядра ОС. Специализированные библиотеки позволяют сделать работу с сокетами из языка более прозрачной и комфортной. В плане количества рутинного кода, прежде всего. Организация простейшего сокет-сервера. Последний раз редактировалось alexcon314; 28.04.2014 в 08:48. |
|
|||||
|
alexcon314. Решил я вот взять и начать учить С++ 3 дня назад.
Могу с уверенностью сказать, что это были самые унылые 3 дня моей жизни. Такой жести я ещё не видел. Код вообще никак не структуризируется, все действия только последовательные. В конце концов, столкнулся даже с тем, что метод нельзя объявить после кода, где он используется. Просто жесть. Названия страшные(Особенно в OpenGL). В OpenGL тысячи функций и оно вообще не структуризируется в памяти(памяти мозга). Ладно, хорошо, думаю, пусть даже так. Есть ведь классы, можно с ними работать. Потом столкнулся с той фигнёй, что в С++ нельзя получить длину массива и приходится пользоваться каким-то бредом, типа Даже не запомнил, что там писалось, ибо даже не представляю, каким нужно быть извращенцем, чтобы придумать подобное. Мне искренне жалко людей, которые пишут на С++, потому, что это просто жесть. Я бы с ассемблером работал с большим интересом(надеюсь). И тут я подумал, что, может быть, мне просто попался неудачный чувак, который всё неправильно трактует. И тут я посмотрел на передаваемые аргументы в функции OpenGL и захотелось выбить глаз разработчику С++. Передаваемые аргументы с прочерком, это просто полная противоположность договорённостям в AS3. Пространства имён, нафига они вообще, когда есть классы? Ну ладно это... Я даже смирился с тем, что приходится инициализировать массивы магическими значениями. Я даже смирился с тем, что с памятью приходится работать явно, а не абстрагировавшись от процессов, происходящих при этом в компьютере. Да, иногда это действительно может быть нужно. Я даже смирился с ссылками на ячейки памяти(выделяемые под переменные), и что они действительно мне пригодятся(хотя я так и не понял, зачем). Ну пусть таким образом и можно получить второй и третий и минус первый элемент массива лишь прибавив к ссылке +1, +2 или -1. А каково их практическое применение(вряд ли кто-то будет работать с массивом таким образом, когда можно просто получить элемент явным образом(в квадратных скобках). Самое жестокое - это работа с OpenGL вообще без ООП(Тупо вызывая функции). Вместо нормального ООП какие-то пространства имён, вообще не структуризированные. Жесть, когда я посмотрел на работу с этими функциями. Чтобы вращать объект, нужно сделать 3 глобальных переменных. Ладно, подумал я. Тут ведь можно зашаманить это дело в В общем, или у меня просто каша в голове, или этот С++ - это жесть. Даже имена встроенных классов с маленькой буквы(кстати, почему в AS3 int со строчной буквы я так и не вдуплил). Вот если у вас есть пример любой несложной программы на С++, написанной в хорошем тоне(чтобы я увидел, что С++ ещё хоть куда не идёт), скиньте примерчик. Ладно, пойдём дальше. Сегодня же я открыл видеокурс от англичанина по 3D Game Programming на Java. Мои глаза, кажется, вернулись в своё нормальное положение, после того, как они закатились от С++. Java выглядит идеально, ровно и красиво. А главное - вполне логично. Даже правила написания сходны. Всё было понятно, ясно и чисто, код идеальный. Что со мной не так? Я не понимаю вашу любовь к С++. Просто не понимаю. Ужас. Кошмар. Что за битовые сдвиги вместо конкатенации строк и переменных в строку при выводе в консоль cout? Бред вообще, ну никуда не лезет просто. В аргумент представлю вполне логичную Java и AS3 команду вывода в консоль. В топку OpenGL. Больше никогда не открою уроки по OpenGL с его вообще аллогичными и сложными для запоминания, причём длинными функциями. Потом, идём дальше. Получается, в качестве аргументов функции нельзя передать, например, если это float, то нельзя передать int, и если это double, то нельзя передать ни int, ни float. Просто мозг вскипает. По этой причине в OpenGL почти каждая, *****, функция, триплирована на 3 типа передаваемых аргументов. Типа для примера(точно не помню, какие функции, так как запомнить их - сломать своё представление о динамическом программировании) glSetColor3f glSetColor3d glSetColor3i glSetColor4d и так далее. Просто слов нет. Ну хорошо, я и с этим смирюсь когда-нибудь. И тут меня мучает вопрос: Стоит ли мучаться с ним? Вы вообще как к нему относитесь? Каковы ваши аргументы? Что С++ умеет(кроме скорости), что не умеет, например, Java? Как вы можете терпеть все эти ломающие стереотип наименования, от которых моя психика пала? Как запомнить это всё, не подскажите методику? По сути, даже не верится, что Flash компилируется в С++. Я бы с радостью использовал Java в качестве сервера, но если вы приведёте аргументы в пользу С++, я буду и дальше себя мучать всеми этими вещами. Что-то мне подсказывает, что С++ стоит учить на "чистый мозг", когда вообще не знаешь ни одного ECMAScript-подобного языка. Один человек однажды мне сказал, когда я ещё не был знаком с синтаксисом подобному Java, что Java похожа на С++, поэтому я смогу выучить Java, если буду знать С++. С первым он 100% фейлнулся, а вот во втором, похоже, он оказался прав. Только я хочу теперь наоборот, из синтаксиса Java перейти на C++. Может, половина поста и бредни, но я не могу уложить в голове все эти вещи, поэтому спрашиваю у вас.
__________________
There is no thing in this world that is not simple. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:35. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|