Обязательное_поле #1601 17 ноября 2013 так ребят, нужен хелпесть игра мультиплеерный шутердопустим я использую UDPесть сервер на джава.Как лучше реализовать прием и отдачу данных? Может 2 треда?И чтобы не блочили друг друга Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #1602 17 ноября 2013 Хуйня получится. Заебёшься синхронизировать. Лучше всего делай по 1 треду на пользователя + общую шину на сервер сайде из которой и в которую будешь инфу передавать. Поделиться сообщением Ссылка на сообщение
Двапой #1603 17 ноября 2013 Перепиши сервер на ноду, он сам создает потоки. Очень удобно Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #1604 17 ноября 2013 Перепиши сервер на ноду, он сам создает потоки. Очень удобноСинхронизировать тоже сам будет? Поделиться сообщением Ссылка на сообщение
Двапой #1605 17 ноября 2013 на сокетах, изи вообще Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Kant #1606 17 ноября 2013 на сокетах, изи вообщеи как он разрешает критические секции при записи сам? тут тебе не в базу значения положить, которая сама асинхронно работать умеет Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
DeadMage #1607 17 ноября 2013 Делай мультиплексированный ввод и event-loop. Будет меньше трабл с синхронизацией. Поделиться сообщением Ссылка на сообщение
Kant #1608 17 ноября 2013 только будут траблы с производительностью Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1609 17 ноября 2013 (изменено) переходить на ноды уже поздно. надо по-бастрому собрать более менее работающий мультиплеер.на данный момент успешно принимает координаты игроков и из этого же сокета транслирует всемя думал может по таймеру сделть, чтобы в одной итерации в течении 1 милисекунды принимал пакеты любые, по истечении таймера обработать все данные и, наконец, разослать всем участникам обновление мира кароче вот главный луп сервера, например. (run) class Arena { public ArrayList<Player> players; byte[] sendData; byte[] receiveData; DatagramSocket socket; BufferedReader inFromUser; public Arena(int port) throws SocketException { this.players = new ArrayList<Player>(); this.receiveData = new byte[1024]; this.sendData = new byte[1024]; this.inFromUser = new BufferedReader(new InputStreamReader(System.in)); this.socket = new DatagramSocket(port); } public void run() throws IOException, InterruptedException { System.out.println("Server started on " + socket.getLocalAddress().getHostName() + ":" + Integer.toString(socket.getLocalPort())); boolean done = false; long startTime = System.nanoTime(); while (!done) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); socket.receive(receivePacket); registerPacket(receivePacket); prepareSnapshot(); broadcastSnapshot(); Thread.sleep(20); } socket.close(); ... } ну вот тут и видно как коряво все. на каждый входящий пакет приходится 1 исходящий, то есть . это же очень неэффективно, так? (я обычно шугаюсь когда речь заходит о всяких асинхронностях, нодах, колбеки хуеки.ъочу попроще чтобы у меня мозг не взорвался) Изменено 17 ноября 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
Kant #1610 17 ноября 2013 зачем так каждому клиенту свой сокетон шлет запрос со своими данными и хочет получить обновленные данные о другихв этот момент и отправляешь ему главное хорошо продумать запись, чтобы лок коллекций не стал узким местом Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1611 17 ноября 2013 (изменено) зачем так каждому клиенту свой сокетон шлет запрос со своими данными и хочет получить обновленные данные о другихв этот момент и отправляешь ему главное хорошо продумать запись, чтобы лок коллекций не стал узким местом много портов занять придется ведь не?я просто исходил из того, что например у всяких там кс или квейков сервера на одном порту же Изменено 17 ноября 2013 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
rubish #1613 17 ноября 2013 Обычно этим занимаются те, кто не смог на собеседовании ответить на вопрос про сортировки в энтерпрайзе этим занимаются все Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Двапой #1614 17 ноября 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 (его я тоже люблю=)), В общем, к чему все это эссе: не существует серебрянных пуль, изучайте разные языки, вникайте в их дизайн, ищите плюсы и минусы и научитесь их использовать себе во благо. Не стройте себе тюрьму из предубеждений и не пытайтесь все новое запихать в узкую коробку, в который вы сидите, Возможно, то что вы так не любите, является ключом в целый новый мир (правда при условии, что вы перестанете пытаться запихать его себе в задницу, вместо замочной скважины =)) Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
justice_st #1615 17 ноября 2013 (изменено) //from winapi.cs RegisterHotKey(this.Handle, 0, 0x002, (int)Keys.C); public static void KeyDown(System.Windows.Forms.Keys key) { keybd_event((byte)key, 0x45, 0x0001 | 0, 0); } public static void KeyUp(System.Windows.Forms.Keys key) { keybd_event((byte)key, 0x45, 0x0001 | 0x0002, 0); } protected override void WndProc(ref Message m) { if (m.Msg == 0x0312) { int id = m.WParam.ToInt32(); if (id == 0) { [b]ToggleHotkeys(false); KeyDown(Keys.Control); KeyDown(Keys.C); KeyUp(Keys.C); KeyUp(Keys.Control); System.Threading.Thread.Sleep(155);[/b] //if i comment this sleep - code executes too fast, making first Ctrl-C press //capture nothing, second press outputs results for first item //third press - for second item, ... string textFromClipboard = Clipboard.GetText(); if (textFromClipboard.Contains("Itemlevel: ")) { //do stuff with data } [b]ToggleHotkeys(true);[/b] } } base.WndProc(ref m);костыль 99 лвлсамому смешно Изменено 17 ноября 2013 пользователем justice_st Поделиться сообщением Ссылка на сообщение
Tinplz #1616 17 ноября 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 (его я тоже люблю=)), В общем, к чему все это эссе: не существует серебрянных пуль, изучайте разные языки, вникайте в их дизайн, ищите плюсы и минусы и научитесь их использовать себе во благо. Не стройте себе тюрьму из предубеждений и не пытайтесь все новое запихать в узкую коробку, в который вы сидите, Возможно, то что вы так не любите, является ключом в целый новый мир (правда при условии, что вы перестанете пытаться запихать его себе в задницу, вместо замочной скважины =)) и что ты из этого понял? Поделиться сообщением Ссылка на сообщение
fuckyouall #1617 17 ноября 2013 как сделать на андроиде чтобы показывало все картинки из указанной папки?офк вопрос раковый, я только начал, но заебался искать, или гуглю что-то не то, или не понимаю нихуя, помогите, пожалуйстаhttp://stackoverflow...image-in-sdcardПути до файлов, думаю, сможешь получитьну это то да, но мне надо чтобы вот так получилось офк я не знаю количества изображений в папкену я могу создать цикл и наклепать множество imageview и в них рассовать эти картинки, но думаю, что это совсем дурной способ Gridview ? Поделиться сообщением Ссылка на сообщение
KotZhilkina #1618 18 ноября 2013 двапой или кто-нить можете написать тулзу, которая бы парсила рутор например на предмет добавления торрентов, н-р, фильмов и присылала бы мне на почту каждое утро или вечер письмо со списком добавленных новых торрентов, их качества и ссылкой на скачку. мб еще чтобы была возможность ставить в тулзе минимальное качество и прмой коллега на работе говорил что у него подобие такой тулзы есть http://habrahabr.ru/post/88114/http://habrahabr.ru/post/195454/ зачем так каждому клиенту свой сокетон шлет запрос со своими данными и хочет получить обновленные данные о другихв этот момент и отправляешь ему главное хорошо продумать запись, чтобы лок коллекций не стал узким местом много портов занять придется ведь не?я просто исходил из того, что например у всяких там кс или квейков сервера на одном порту жеу веб-серверов тоже обычно один порт на льярды клиентов, представляешь Публикация отключена Поделиться сообщением Ссылка на сообщение
Обязательное_поле #1619 18 ноября 2013 (изменено) 1 Изменено 29 апреля 2014 пользователем Обязательное_поле Поделиться сообщением Ссылка на сообщение
Двапой #1620 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 (его я тоже люблю=)), В общем, к чему все это эссе: не существует серебрянных пуль, изучайте разные языки, вникайте в их дизайн, ищите плюсы и минусы и научитесь их использовать себе во благо. Не стройте себе тюрьму из предубеждений и не пытайтесь все новое запихать в узкую коробку, в который вы сидите, Возможно, то что вы так не любите, является ключом в целый новый мир (правда при условии, что вы перестанете пытаться запихать его себе в задницу, вместо замочной скважины =)) и что ты из этого понял?А что из этого я не должен был понять? Или ты считаешь что веб-программисты могут только жквери плагины к странице подключать? Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение