вторник, 25 января 2011 г.

Пишем многопоточный сервер с использованием libev

Понадобилось тут вдруг у одного проекта переписать его сетевую часть, т.к. старая не справлялась, долго искал в инете примеры реализации, но увы безуспешно, поэтому и дал себе обещание написать об этом в блоге. Статья предназначена для тех кто уже имеет представление о сетевом программировании на Си.
Задачи:

  • Сервер должен иметь реализацию сокетов через libev
  • Сокеты должны быть не блокирующими (non-blocking)
  • Должно быть N нитей (pthread), которые независимо будут слать сообщения всем подключенным клиентам
  • Как минимум, не гнутся от DoS`елки по типу slowloris.

суббота, 22 января 2011 г.

Dropbox and Archlinux

Вчера победил его, этот скрытный дропбокс. Трабла заключалась в том, что он не стартовал, выдавал ошибку что не может "чтототам", а что подробнее смотреть в фаил /tmp/dropbox_errorqWpkDo.txt

[delin@Lilu ~]$ cat /tmp/dropbox_errorqWpkDo.txt
Traceback (most recent call last):
File "core/authenticate.py", line 482, in authentication_thread
File "core/authenticate.py", line 55, in handle_register
File "core/databases.py", line 554, in load_dropbox_filecache
File "core/file_cache.py", line 870, in __init__
File "core/file_cache.py", line 858, in _create_connhub
File "core/file_cache.py", line 1173, in _create_tables
File "core/file_cache.py", line 1187, in cls_set_config_key
OperationalError: disk I/O error

Hello World!

Сабж собственнго :)