• При подключении адаптера питания загорается подсветка матрицы, какие могут быть причины?

    @vilgeforce
    Раздолбай и программист
    Вполне вероятно что у новой матрицы несколько иной протокол обмена с матерью. Или другой алгоритм работы и по умолчанию яркость 100%. Или еще что-то не так. Проблемы с подсветкой при замене матриц (даже на аналогичную) бывают.
    Ответ написан
    1 комментарий
  • Почему каша из строк в ListView во время обновления элементов в списке?

    Ewintory
    @Ewintory
    Java / Android developer
    Для начала лучше сохранить один раз Inflater в контрукторе адаптера
    private LayoutInflater mInflater;
    ...
    mInflater = LayoutInflater.from(context);


    Затем попробуйте вот такую конструкцию, переделав ее под себя
    @Override public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            if (convertView == null) {
                convertView = mInflater.inflate(R.layout.sort_spinner_item, parent, false);
                holder = new ViewHolder(convertView);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }
    
            holder.textView.setText(getTitle(position));       
    
            return convertView;
        }
    
    public static class ViewHolder {
            @InjectView(android.R.id.text1) TextView textView;
    
            public ViewHolder(View view) {
                ButterKnife.inject(this, view);
                view.setTag(this);
            }
        }


    Кажется проблема в том что используете
    convertView = mInflator.inflate(R.layout.custom_row, null);

    вместо
    convertView = mInflator.inflate(R.layout.custom_row, parent, false );
    Ответ написан
    1 комментарий
  • Как сделать проброс портов в Mikrotik при обращении из локалки?

    EvilMan
    @EvilMan
    Маскардинг не работает в вашем случае. Добавляйте явное правило SNAT для таких пакетов.
    В общем, всё выглядит примерно так.
    1. LAN client -> Mikrotik, 192.168.0.100:4555 -> 1.2.3.4:87 (на роутере у этого пакета будет in-interface ether2, так как пакет действительно прилетел из локальной сети) - если в правиле указано сопоставление пакета по входящему интерфейсу для dst-nat (логичнее предположить, что он у вас указан как ether1), то никакого перенаправления не будет. Либо заводите два правила, либо не проверяете для перенаправляемых пакетов входящий интерфейс, а только адрес назначения, протокол и порт. Двигаемся дальше.

    2. Mikrotik -> LAN server, 192.168.0.100:4555 -> 192.168.0.2:87 (output-interface ether2) - Победили перенаправление и пакеты теперь успешно улетают в локалку после замены адреса назначения (в том-то и суть dst-nat). Но что будет дальше? Локальный сервак получает перенаправленный через роутер пакет и отвечает на него напрямую в обход роутера.

    3. LAN server -> LAN client, 192.168.0.2:87 -> 192.168.0.100:4555 - Это ответный пакет от сервера. Но клиент ожидает пакеты с адресом источника 1.2.3.4, а не эти, и отбрасывает их. Либо молча, либо явно с посылкой ICMP-сообщения.

    Вот такие дела. Отсюда решение. Правила ната на микротике.
    1. Правило для проброса портов из интернета:
    chain = nat/prerouting,
      input-interface = ether1, 
      dst-ip = 1.2.3.4, 
      protocol = tcp, 
      dst-port = 87, 
      action = dst-nat, 
      dst-nat-address = 192.168.0.2, 
      dst-nat-port = 87.

    2. Правило для проброса портов из локалки:
    chain = nat/prerouting
      input-interface = ether2, 
      dst-ip 1.2.3.4, 
      src-ip = 192.168.0.0/24, 
      protocol = tcp, 
      dst-port = 87, 
      action = dst-nat, 
      dst-nat-address = 192.168.0.2, 
      dst-nat-port = 87.

    3. Правило для source-nat, чтобы ответные пакеты сервера так же пошли через роутер:
    chain = nat/postrouting,
      output-interface = ether2, 
      dst-ip = 192.168.0.2, 
      src-ip = 192.168.0.0/24, 
      protocol = tcp, 
      dst-port = 87, 
      action = src-nat, 
      src-nat-address = 192.168.0.1

    Вот как-то так. Можно, кстати, пакеты из локалки в локалку метить в цепочке FORWARD и уже на основе метки делать src-nat.
    Ответ написан
    7 комментариев
  • Вопрос про делегирующий конструктор c#?

    Monnoroch
    @Monnoroch
    У вас, вероятно, опечатка:
    public Block(int id, int meta) : this(id, meta, "Unknown") { }
    

    В остальном да, просто конструкторы будут вызываться в интуитивном порядке. Сначала напрямую вызванный, потом вызываемый первым и так далее.
    Ответ написан
    8 комментариев