Jawa / Говнокод #4547 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
case 4096:
                            //chat message
                            tmp = new byte[4];
                            System.arraycopy(rp.getData(), 4, tmp, 0, 4); //nick length
                            int nickl = byteToInt(tmp);
                            System.arraycopy(rp.getData(), 8, tmp, 0, 4); //message length
                            int mlen = byteToInt(tmp);
                            tmp = new byte[nickl];
                            System.arraycopy(rp.getData(), 12, tmp, 0, nickl); //retrieving nick
                            String r2Nick = new String(byteToChar(tmp));
                            tmp = new byte[mlen];
                            System.arraycopy(rp.getData(), 12+nickl, tmp, 0, mlen); //message
                            String msg = new String(byteToChar(tmp));
                            System.out.println("<"+r2Nick+"> "+msg);
                        break;

UDP чат без сервера (т.е. широковещательные UDP запросы).
всё из той-же серии, что и мой прошлый пост

Запостил: danilissimus danilissimus, (Updated )

Комментарии (26) RSS

  • для достижения максимальной сатисфакции следует юзать этот чат в сети с тупыми маршрутизаторами, соединенными каскадом
    Ответить
    • эээ, облажатушки, маршрутизаторами - следует читать коммутаторами
      Ответить
      • Что-то не пойму где "облажатушки", ибо бродкасты через коммутаторы ходят, а вот через маршрутизаторы уже не очень.
        Ответить
        • именно, еще как ходят 🙂
          каждый кадр содержащий строку "мяффка)" будет вызывать broadcast storm по всей сети 🙂
          Ответить
          • ну это уже проблемы организации сети. давайте ещё пару сетевушек с одинаковыми маками поставим.
            Ответить
            • нет, это общее свойство протоколов основанных на бродкастах.
              а вот если маршрутизировать между сегментами LAN, а потом городить костыли, чтобы бухгалтер Элеонора могла видеть принтер, вон тот беленький, с кнопочкой - это уже проблемы организации сети, и они только начинаются.

              ЗЫ: даже тупой коммутатор домашней серии локально умеет поймать конфликт адресов и опустить плохие порты
              Ответить
              • Степень тупости вопрос спорный. Что может, а что не может отдельно взятый коммутатор надо читать в описании на него. Потому что сейчас даже самые тупые могут распознавать cross/patch, а лет 5 назад не могли.
                Ответить
                • не надо читать, тупые не имеют возможности управления, и соответственно не могут реагировать на шторм
                  Auto-MDIX - функция физического интерфейса, никак не связана с работой микросхемы моста
                  Ответить
              • про бухгалтера:
                Вы очевидно говорите о "сетевом окружении" винды?

                да, мастер браузер (хранитель списка компов) по умолчанию ищеца бродкастом (когда мелкомягкие это придумывали -- это было ОК), но проблема решается легко:

                подымаеца WINS и изменяется тип ноды.

                вот и все)
                Ответить
                  • в "сетевом окружении" используется очень плохой протокол, совершенно не подходящий для интернета и сетей с большим кол-вом компов.
                    увы)
                    Ответить
                    • опять плохой протокол?
                      если что - это называется netbios
                      выборы мастера - через RPC
                      Ответить
                        • Нормальный. Когда LAN становится большой и шумной - нанимают сисадмина и он взгромождает контроллер домена, just as planned. Жадные просто страдают.
                          Ответить
                          • контроллер домена не спасает от браузинга. Разве что он почти всегда выигрывает перевыборы, да позволяет групповой политикой отрубить всем сервис "network browsing", что б они в выборах даже не участвовали.

                            это лечит известную маленьким компаниям проблему "в сетевом окружении иногда не все компы", связанную с тем, что там каждые 15 минут -- новый браузер)
                            Ответить
                            • Ой, да ладно. Там вообще RPC не работает, а воркстанции браузятся через Active Directory. Или мы windows NT 4.0 поминаем?
                              Ответить
                              • Вы не совсем правы.
                                Через AD раздраются групповые политики и иже с ними, через DNS находятся контроллеры домена, но мастер браузер ищется по-старому: или через WINS или бродкастом, в зависимости от типа ноды.

                                Возьмите домен на win >= 2000, возьмите клиента (например XP), введенного в этот домен, врубите сниффер, и зайдите в сетевое окружение. Или например введите nbtstat -r

                                как был netbios так и остался. слава богу хоть по tcp/ip (nbt называется)

                                Вот поиск контроллера домена действительно перешел на DNS (в отличие от NT), но именно контроллера домена, а не мастер браузера))
                                Ответить
          • >>каждый кадр
            маршрутизаторы не имеют понятия и кадрах:)

            бродкасты возможны только в рамках одной сети.
            Ответить
    • просто не хотелось использовать 0, 1, 2 итд. хотелось чтобы выглядело приятнее и солиднее )
      Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8