Home
codingteam
codingteam@conference.jabber.ru
04.09.2013< ^ >

Тема: C/С++, Haskell, Ruby, Python, Perl, Lisp, Erlang, OCaml, JavaScript, Scala, Nemerle, F#.
Код выкладывать на http://dumpz.org
Вопросы задавать в чат, а не в личку.
Логи: http://tinyurl.com/ctcjr-logs
Упоминания о Flash, Java, .NET, PHP, Pascal/Delphi/Borland, 1С караются съеданием поциента.
Личкрафты: http://leechcraft.org и git://github.com/0xd34df00d/leechcraft.git
Horta Hell: https://github.com/ForNeVeR/horta-hell
Проблем решено: 0x15
Говорящих демонов: 0x1

=> Объявляется неделя народного дивана.
[01:08:43] sss|zombie вышел из конференции
[01:22:36] magog вышел из конференции
[01:33:56] yesyes вышел из конференции
[01:55:23] eaeee вышел из конференции
[01:56:27] eaeee зашёл в конференцию
[03:27:40] eaeee вышел из конференции
[03:42:32] m4n71k0r вышел из конференции
[04:57:52] Glorious Chaplain of the Hortamarines вышел из конференции
[06:04:08] <ForNeVeR> Нет, у всех должно быть утро.
[07:05:38] emu-nero~ вышел из конференции: Replaced by new connection
[07:05:40] emu-nero~ зашёл в конференцию
[08:25:18] siii зашёл в конференцию
[08:44:04] emu-nero~ вышел из конференции
[09:10:18] m4n71k0r зашёл в конференцию
[09:12:27] <m4n71k0r> и тут утро
[09:13:25] Myp зашёл в конференцию
[09:17:31] m4n71k0r вышел из конференции
[09:21:00] m4n71k0r зашёл в конференцию
[09:36:40] emu-nero~ зашёл в конференцию
[09:43:07] SolarRay зашёл в конференцию
[09:44:28] magog зашёл в конференцию
[10:20:35] <emu-nero~> чем socket(AF_UNIX, SOCK_STREAM, 0) координально отличается от mkfifo?
[10:21:07] <Myp> emu-nero~: Что такое mkfifo?
[10:21:30] <emu-nero~> MKFIFO(3)



NAME
mkfifo - make a FIFO special file (a named pipe)

SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>

int mkfifo(const char *pathname, mode_t mode);
[10:21:49] <ForNeVeR> "координально"?
[10:21:55] <ForNeVeR> emu-nero~: ты охуел.
[10:22:06] <emu-nero~> да
[10:22:08] sss|zombie зашёл в конференцию
[10:22:09] <emu-nero~> не проснулся
[10:22:12] <Myp> emu-nero~: Так ясно же пишут - named pipe
[10:22:18] <Myp> что не ясно?
[10:22:37] <emu-nero~> тьфу.
[10:22:41] <emu-nero~> т.е. не SOCK_STREAM
[10:22:45] <emu-nero~> а SOCK_DGRAM
[10:23:00] <emu-nero~> Myp: с socket получается тот же неймедпайп
[10:23:23] <Myp> emu-nero~: Нихуя
[10:23:53] <Myp> сокет охуеть абстрактен
[10:24:02] <Myp> А неймед пайп вполне конкретен
[10:24:50] <Myp> DGRAM можешь читать как UDP, например
[10:26:12] <emu-nero~> в итоге они оба одинаково поллятся
[10:26:27] <emu-nero~> аа.
[10:26:39] <emu-nero~> в фифо они не пакетами летят
[10:26:45] <emu-nero~> а потоком
[10:27:41] <Myp> Дык, датаграммы же
[10:28:02] <emu-nero~> бл.
[10:28:04] <emu-nero~> и что использовать
[10:28:23] <Myp> А какой-нибудь SOCK_RAW поди хуячит потоком просто
[10:28:40] <emu-nero~> AF_UNIX принмает только STREAM или DGRAM
[10:29:08] <Myp> Ты чего в итоге хочешь скажи
[10:29:13] <emu-nero~> хз
[10:29:16] <emu-nero~> фифо хочу
[10:29:34] <Myp> Не то
[10:29:40] <Myp> Что ты хочешь изначально сделать
[10:29:46] <emu-nero~> контролсокет
[10:29:49] <emu-nero~> для демона
[10:30:08] <emu-nero~> что бы к нему можно было приатачиться
[10:30:17] <emu-nero~> абл.
[10:30:22] <Myp> Ну, и делай на сокетах, да.
[10:30:26] <emu-nero~> фифо не разделяет клиента
[10:30:35] <Myp> только лучше сразу на INET
[10:30:43] <emu-nero~> на INET жирно
[10:30:51] <Myp> можно будет цепляться локально и по сети
[10:30:59] <emu-nero~> нужно локально
[10:31:28] <emu-nero~> кароч фифо не разделяет клиентов, если сервер отдаст ответ в фифо, то ответ может поймать какой-то левый клиент
[10:31:31] <emu-nero~> и получит говно.
[10:31:37] <emu-nero~> получится
[10:32:18] <Myp> хуй знает, что там в фифо, но в сокетах на каждый коннекшон свой дескриптор
[10:32:19] <emu-nero~> а AF_UNIX тоже источник не разделяет
[10:32:46] <Myp> все там разделяет
[10:32:49] <emu-nero~> да?
[10:32:53] <emu-nero~> пойду тестить вощем
[10:32:59] <Myp> Да
[10:33:13] <Myp> я писал когда-то тестовое задание такое
[10:33:30] <Myp> сервер поддерживал несколько клиентов
[10:33:41] <emu-nero~> на DGRAM не каждый дескриптор
[10:33:46] <emu-nero~> ты accept там не выполняешь
[10:33:49] <emu-nero~> как и listen ()
[10:33:58] <Myp> што?
[10:34:04] <Myp> ты упоролся штоли
[10:34:29] <emu-nero~> ды?
[10:34:54] <emu-nero~> Once you have a socket up and connected, you can read incoming data from the remote side using the recv() (for TCP SOCK_STREAM sockets) and recvfrom() (for UDP SOCK_DGRAM sockets).
[10:35:11] <emu-nero~> на SOCK_STREAM делаешь accept(), а потом жмёшь recv() на полученном дескрипторе
[10:35:22] <emu-nero~> а на SOCK_DGRAM жмёшь recvfrom прям на серверный дескриптор
[10:39:21] <Myp> А, таки, да. для DGRAM чутка иначе
[10:43:52] <Myp> emu-nero~: Короче говоря, тебе поверх DGRAM нужно будет самому лепить/костялить протокол
[10:44:01] <Myp> Либо взять STREAM
[10:44:40] <Myp> Если ты хочешь разделять клиентов
[10:50:21] <uıʃɐɟ∀> Лолшто.
[10:51:55] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[10:53:23] m4n71k0r вышел из конференции
[10:58:18] kactpatop зашёл в конференцию
[11:00:44] <Myp> uıʃɐɟ∀: А што?
[11:01:01] <uıʃɐɟ∀> Говноедство.
[11:01:29] <Myp> Конечно
[11:04:29] <emu-nero~> ну а чтоделать.
[11:04:40] <emu-nero~> нормального ipc нет же.
[11:05:33] <Myp> сигналы же
[11:06:09] <emu-nero~> в сигналах данные не попередаёшь
[11:06:31] <Myp> какие тебе данные поппередавать надо?
[11:07:05] <emu-nero~> для управления демоном
[11:07:11] <emu-nero~> и демон должен еще обратно данные слать
[11:09:28] <emu-nero~> полный набор короч
[11:13:14] swagman зашёл в конференцию
[11:14:05] <uıʃɐɟ∀> Есть AF_INET и петля.
[11:14:32] <uıʃɐɟ∀> Но вообще да, SOCK_STREAM спасёт отца русской демократии.
[11:14:57] <uıʃɐɟ∀> Хотя, что для тебя значит "различать клиентов"?
[11:15:02] <Myp> У меня даже рабочий код есть:)
[11:15:11] <uıʃɐɟ∀> У всех есть.
[11:15:26] kactpatop вышел из конференции
[11:15:57] <Myp> Ну, именно с использованием AF_INET и SOCK_STREAM, я имел ввиду
[11:16:13] <emu-nero~> uıʃɐɟ∀: это значит что клиент, который отослал запрос должен его получить
[11:16:16] siii вышел из конференции: offline
[11:16:22] <emu-nero~> без возни с идентификацией и прочей ерундой
[11:16:32] <emu-nero~> т.е. ответ получить
[11:16:39] <Myp> ответ-то отослать не проблема
[11:16:41] <emu-nero~> у меня нет
[11:16:43] <emu-nero~> да
[11:16:46] <emu-nero~> только куда он уйдёт
[11:17:02] <uıʃɐɟ∀> А вот не факт, что не проблема. Я правда, забыл, как там что.
[11:17:12] <emu-nero~> нужно будет с AF_UNIX, SOCK_DGRAM поиграться
[11:17:18] <Myp> Проблема в том, чтобы понять ОТКУДА пришел запрос
[11:17:21] <uıʃɐɟ∀> Но помнится, действительно не отослать ответ.
[11:17:25] <emu-nero~> что-то интересно стало куда будут улетать данные
[11:17:26] <uıʃɐɟ∀> То-то и оно.
[11:17:35] <emu-nero~> ведь в sun_path будет всё тот же /tmp/socket
[11:17:37] <uıʃɐɟ∀> В recvfrom ты ничего полезного не узнаешь.
[11:18:15] <Myp> Ну, можно открывать по сокету на клиента
[11:18:18] <Myp> Но это говно
[11:18:23] <uıʃɐɟ∀> Для датаграмм-то?
[11:18:26] <Myp> Да
[11:18:39] <uıʃɐɟ∀> А, в смысле, создавать по файлу с сокетом?
[11:18:45] <Myp> Да
[11:18:48] <uıʃɐɟ∀> Ололо.
[11:19:10] <uıʃɐɟ∀> Только всё равно не получится ответ отправить.
[11:19:21] <uıʃɐɟ∀> Либо создавать два сокета для сервера и для клиента.
[11:19:27] <uıʃɐɟ∀> Вощем, днище.
[11:19:30] <Myp> Днище
[11:19:38] <emu-nero~> можно слать клиентом данные
[11:19:38] <uıʃɐɟ∀> Лущ стрим.
[11:19:43] <emu-nero~> что открыл там-то сокет
[11:19:46] <emu-nero~> пришли говно туда
[11:19:46] <Myp> Стрмм взять надо и не ебать мозги
[11:19:57] <uıʃɐɟ∀> emu-nero~: Прям фтп кокое-то.
[11:20:00] <emu-nero~> ага.
[11:20:22] <Myp> Микель, кажется, по ICMP данные качать предлагал
[11:20:31] <uıʃɐɟ∀> Хе.
[11:20:34] <Myp> emu-nero~: МОжет возьмешься?
[11:20:39] <emu-nero~> по icmp и передают данные
[11:20:54] <emu-nero~> http://ru.wikipedia.org/wiki/ICMP_%D1%82%D0%BE%D0%BD%D0%BD%D0%B5%D0%BB%D1%8C
[11:20:56] <Myp> Я имел ввиду payload какой
[11:20:57] <uıʃɐɟ∀> Некоторые умельцы на заре становления лимитированных по трафику тырнетов через ицмп шлюзы баловались бесплатным трафиком.
[11:21:06] <emu-nero~> ды.
[11:21:15] m4n71k0r зашёл в конференцию
[11:21:17] <Myp> А некоторые и вприсядку дрочат
[11:21:32] <uıʃɐɟ∀> Это неинтересно.
[11:21:38] <uıʃɐɟ∀> А вот трафик на халяву - очень ок.
[11:22:11] <Myp> Где-то читал, что хороший сетевой админ первым делом ICMP отрубает
[11:22:30] <uıʃɐɟ∀> В говнопровах - может быть.
[11:22:34] <Myp> хз где
[11:22:46] <Myp> Типа секурность и все такое
[11:22:51] <emu-nero~> опередлённые пакеты режут
[11:22:53] <uıʃɐɟ∀> Хуюрность.
[11:23:09] <Myp> Если какой говнотроян начнет пинговать, то обломается, например
[11:23:18] <emu-nero~> связанные с маршрутизацией
[11:23:44] <emu-nero~> если явно известно что сеть в ближайшее тысячелетие меняться не будет
[11:24:05] <Myp> расхожая фраза, аха
[11:24:30] <Myp> А через год опять дядьки с перфораторами бегают по этажу
[11:25:07] Graf вышел из конференции
[11:47:14] <emu-nero~> кароч при AF_UNIX, SOCK_DGRAM ничего не приходит в recvfrom
[11:47:19] <emu-nero~> обратного адреса тупо нет.
[11:51:56] <uıʃɐɟ∀> Да.
[11:53:36] <emu-nero~> т.е. единственный способ передать ответ -- сообщить клиенту свой обратный адрес
[11:54:15] <uıʃɐɟ∀> Зачем тебе именно датаграммы?
[11:54:39] <Myp> они еще до кучи и не гарантируют доставку
[11:55:06] <emu-nero~> для AF_UNIX это пх
[11:55:19] <emu-nero~> uıʃɐɟ∀: не нужно мучиться с accept
[11:55:25] <Myp> пиздец
[11:55:30] <uıʃɐɟ∀> » не нужно мучиться
» не нужно мучиться
» не нужно мучиться
[11:55:50] <emu-nero~> причём обратный адрес не прилетает даже если забиндить сокет на клиенте
[11:55:56] <emu-nero~> и с бинденного сокета слать данные
[11:55:58] <Myp> Хуле там мучаться? Сейчас ты мучаешься на порядок сильнее!
[11:56:04] <uıʃɐɟ∀> Конечно, лучше накостылять свой акцепт на датаграммах.
[11:56:14] <Myp> emu-nero~: Ты упорот
[11:56:21] <emu-nero~> Myp: чёйто.
[11:56:26] <Myp> emu-nero~: Тойто
[11:56:48] <Myp> Вместо готового солюшена стараешься закостялить лисапед
[11:57:02] <emu-nero~> какого солюшена?
[11:57:13] <uıʃɐɟ∀> Причём этот солюшен для этого и придуман.
[11:57:17] <Myp> STREAM же
[11:57:23] <emu-nero~> да уже и используют
[11:57:24] <Myp> вместо DGRAM
[11:57:25] <emu-nero~> ёпт.
[11:59:01] <emu-nero~> http://paste.kde.org/p9fd92386/
[12:37:13] Graf зашёл в конференцию
[12:37:20] Graf вышел из конференции
[12:58:41] Graf зашёл в конференцию
[12:59:08] Graf вышел из конференции
[13:23:37] reggies зашёл в конференцию
[13:26:52] Graf зашёл в конференцию
[13:26:58] Graf вышел из конференции
[13:37:52] пкщгяут[slacktop] вышел из конференции
[13:52:48] Graf зашёл в конференцию
[14:00:11] Graf вышел из конференции
[14:02:57] Graf зашёл в конференцию
[14:03:06] Graf вышел из конференции
[14:41:38] пкщгяут[slacktop] зашёл в конференцию
[15:05:11] kactpatop зашёл в конференцию
[15:06:53] kactpatop сменил ник на Gop_her
[15:12:18] Gop_her вышел из конференции
[15:14:03] Gop_her зашёл в конференцию
[15:16:34] Gop_her вышел из конференции
[15:31:51] kactpatop зашёл в конференцию
[15:32:08] kactpatop вышел из конференции
[15:46:07] Glorious Chaplain of the Hortamarines зашёл в конференцию
[15:49:11] swagman вышел из конференции
[15:51:25] swagman зашёл в конференцию
[15:53:41] magog вышел из конференции: Replaced by new connection
[15:53:41] magog зашёл в конференцию
[15:59:13] magog вышел из конференции: Replaced by new connection
[15:59:13] magog зашёл в конференцию
[16:12:35] Александр Николаевич зашёл в конференцию
[16:33:15] Graf зашёл в конференцию
[16:33:50] Graf вышел из конференции
[16:37:11] rexim зашёл в конференцию
[16:37:58] SolarRay вышел из конференции
[16:52:19] <emu-nero~> оказывается
[16:52:33] <emu-nero~> мне не нужно возвращать сложные данные
[16:52:44] <emu-nero~> ибо exim понимает только код возврата
[16:52:49] <emu-nero~> 0 или не 0
[16:54:25] O01eg вышел из конференции
[16:57:01] O01eg зашёл в конференцию
[16:57:16] Graf зашёл в конференцию
[16:58:44] Graf вышел из конференции
[17:01:11] yesyes зашёл в конференцию
[17:44:03] <rexim> Што?
[17:44:18] * rexim не понимает код возврата.
[17:48:09] <ForNeVeR> rexim: а хули там понимать?
[17:48:10] <ForNeVeR> 0 или не 0.
[17:49:14] <ForNeVeR> Хотя, наверное, rexim - это recursive exim.
[17:49:24] <ForNeVeR> Потому и не понимает код возврата, что у него возврата-то нету!
[17:49:29] <ForNeVeR> Рекурсия бесконечная, видимо.
[17:56:14] Myp вышел из конференции
[17:58:35] <ForNeVeR> Ололо, в D бывает void[].
[17:58:41] <ForNeVeR> Массив войдов.
[18:01:16] <rexim> :3
[18:06:01] Александр Николаевич вышел из конференции: Я использую Miranda IM Freize Pack (http://freize.ru/)
[18:10:56] <emu-nero~> удевил
[18:11:05] <emu-nero~> в си бывает массив массивов войдов
[18:23:40] m4n71k0r вышел из конференции
[18:24:27] <yesyes> не достаточно только войда нужн что бы был Null, null, Nil, Nothing, None, Unit как в скале
[18:24:44] <yesyes> что бы сильнее запутывать людей
[18:25:01] <ForNeVeR> emu-nero~: ну, положи-ка мне войд в массив.
[18:25:09] <ForNeVeR> Чему равен размер войда?
[18:25:26] <emu-nero~> хую.
[18:25:41] <ForNeVeR> Ну, если только твоему хую.
[18:26:30] * ForNeVeR пильнул код на boost::optional и пошёл спать.
[18:26:55] <emu-nero~> `--> ./a.out
sizeof(void***) = 8
.-(~)-----------------------------------------------------------
`--> tail t.c
#include <unistd.h>

int
main (int argc, char *argv[])
{
void ***x = NULL;
printf ("sizeof(void***) = %lu\n", sizeof(x));
return EXIT_SUCCESS;
}
[18:28:06] <emu-nero~> а
[18:28:07] <emu-nero~> не то
[18:28:16] <emu-nero~> кароч я не нужен.
[18:28:22] <emu-nero~> emu-nero~: ничтожество.
[18:28:32] <emu-nero~> emu-nero~: убирайся в конуру!
[18:28:36] <emu-nero~> emu-nero~: да, хозяин :(
[18:28:59] <ForNeVeR> emu-nero~: всё правильно написал.
[18:30:21] <uıʃɐɟ∀> Блять, кто ideone испортил.
[18:30:29] <uıʃɐɟ∀> Теперь днище какое-то стало.
[18:36:50] reggies вышел из конференции: offline
[18:41:30] <Glorious Chaplain of the Hortamarines> отошел на полчаса за сигаретами
[18:41:36] <Glorious Chaplain of the Hortamarines> а вы тут войдами начали мериться
[18:41:40] <Glorious Chaplain of the Hortamarines> еретики
[18:45:12] rexim вышел из конференции
[18:53:43] emu-nero~ вышел из конференции: Replaced by new connection
[18:53:44] emu-nero~ зашёл в конференцию
[18:59:38] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[19:10:09] magog вышел из конференции
[19:14:15] emu-nero~ вышел из конференции
[19:15:13] <ForNeVeR> Сам ты еретик.
[19:15:23] m4n71k0r зашёл в конференцию
[19:15:37] <ForNeVeR> У тебя просто массива войдов нету, и ты завидуешь.
[19:16:31] Glorious Chaplain of the Hortamarines вышел из конференции
[19:21:24] Glorious Chaplain of the Hortamarines зашёл в конференцию
[19:40:34] v_oron зашёл в конференцию
[19:40:58] emu-nero~ зашёл в конференцию
[19:51:53] пкщгяут[slacktop] вышел из конференции
[19:54:51] пкщгяут[slacktop] зашёл в конференцию
[19:54:55] swagman зашёл в конференцию
[19:55:32] magog зашёл в конференцию
[20:39:55] emu-nero~ вышел из конференции
[20:42:54] vlom зашёл в конференцию
[20:50:13] пкщгяут[slacktop] вышел из конференции
[21:21:16] emu-nero~ зашёл в конференцию
[21:21:59] sss|zombie вышел из конференции
[21:54:04] emu-nero~ вышел из конференции
[21:54:19] emu-nero~ зашёл в конференцию
[22:10:14] v_oron вышел из конференции
[22:47:17] eaeee зашёл в конференцию
[23:07:20] emu-nero~ вышел из конференции
[23:16:58] emu-nero~ зашёл в конференцию
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!