воскресенье, 8 февраля 2015 г.

QTableWidget списки больше 3k



Суть проблемы заключается в следующем:

 При добавление данных в QTableWidget (например строк больше 3k), время обработки может затянуться до 20 сек! При этом 20 сек это на машине Windows 7 x64 8GB RAM.

Первое решение проблемы:
Создать модель, заполнить её, после этого присоединить к QTableWidget;

Второе решение проблемы:
Выставить resizeRowToContents (0).

Третье решение проблемы:

Установить self.model.setRowCount(например 8000).


Материалы по теме :
Обсуждение


суббота, 7 февраля 2015 г.

Незаконченная реализация VNC

Моя реализация VNC
Когда  то брался за написание собственной реализации (1.5 года назад) VNC(Клиент-Сервера). Используется чистый WINAPI, но так и не закончил. Обязательно закончу!

четверг, 5 февраля 2015 г.

Проброс портов через роутер

Суть заключается в следующем :  Допустим у вас есть роутер, от роутера идет сетевой шнур в компютер/etc, вы хотите запустить какую программу сервер, но беда, клиенты из интерента не могу соединиться с сервером(программой сервером) которой развернут на локальном компьютере.
Примечание * у вас должен быть выделенный IP;
Для этого в настройках роутера, есть возможность проброса порта. что для этого требуется? Перейдите по линку в браузере по адресу http://192.168.1.1/ - обычно это интерфейс через который настраивается роутер. У меня роутер Zyxel я покажу на нем, что требуется сделать.

Объясню только то что нуждается в пояснениях.
Если не знаете для какого сервиса нужно перенаправление, то указываете другой. На вашем роутере может не быть такой опции. Под сервисами подразумевается (ftp, pop3, etc); Далее протоколы связи, если не знаете что это ставьте и TCP и UPD. Ip - адрес сервера, это ip - адрес вашей машины, или машины сервера, и порты соответственно.
Пример хотите развернуть сервер ftp с доступом из интернета; ip - адрес вашей машины 192.168.1.77, по умолчанию программа использует 21 порт;
Настройки будут такие:
Сервис - Другой
Порты : 21
IP - адрес : 192.168.1.77
Доступ из интернета : Разрешать всем
Нажимаете кнопку добавить.
Все вы сделали проброс порта!

Как получить свой ip? для ос Windows?
Пример Windows 7
Пуск -> Выполнить->Найти программы и файлы->Пишем cmd ->Enter;
Откроется окно консоли.
Пишите такую команду там; ipconfig

Красным показывает ваш ip; при выполнении ipconfig /all будут выданы все доступные интерфейсы.

* Заключение убедитесь что роутер всегда выдает вашей машине статический адрес, эта настройка есть в роутере, прежде чем будете делать проброс портов. 
*Это необходимо сделать если DHCP включен., если не хотите вникаться, отключите DHCP. 

      Например роутер выдает моему домашнему серверу всегда один и тот-же ip 192.168.1.77.
Это нужно для того чтобы, при обновлении параметров сети, роутер не выдал какой левый ip адрес, если роутер выдаст другой ip, а проброс делался с указанием конкретного ip, то доступ из интернета не будет доступен к серверу!



Зайдите в роутер
Найдите что либо похожее:


В поле мак адрес выберите устройство, в данном случае компьютер подсоединенный к роутеру. Укажите айпи адрес из доступного диапазона. 
Есть так-же полезная команда для опредления открытых портов, наберите netstat.