LINUX.ORG.RU

Сеть IP — когда писать программы лень

 


2

6

Автор этой статьи рассуждает о некоторых способах создания прикладных TCP/IP серверов, крайне редко, к сожалению, используемых в прикладном программировании, которые почти не требуют написания программного кода. Поводом для появления этих коротких заметок явилось намерение напомнить о том, что иногда для того, чтобы описать в программе нечто, по существу своему являющееся достаточно сложным, могут существовать способы выразить эти же вещи намного проще.

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: Silent (всего исправлений: 1)

Слишком много кода для таких простых задач. В первом случае достаточно прописать в качестве сервера cat, во втором — тривиальный шелл-скрипт.

eSyr ★★
()
Ответ на: комментарий от eSyr

А вы предлагаете для примера сразу сервер майнкрафта написать? Примеры должны быть маленькими и понятными.

Toll ★★
()
Ответ на: комментарий от Toll

Примеры должны быть маленькими и понятными.

Но не «минимальными». Пусть лучше будут избыточными, чем оставят какие-нибудь важные детали «за кадром».

mikhalich ★★
()
Ответ на: комментарий от r2d2

толстенько то как :) нода ненужна. js тоже не нужен.

anonymous
()
Ответ на: комментарий от eSyr

шелл скрипт тоже можно прописывать сервером xinetd???? круто же!

Komintern ★★★★★
()

char buf[ 80 ];

setvbuf( stdout, NULL, _IOLBF, 0 ); // или setlinebuf( stdout );

Просто гениально! Хоть какая-то культура программирования должна же быть!!!

anonymous
()

спасибо. Статья годная и нужная

dotbg ★★★★
()
Ответ на: комментарий от anonymous

Просто гениально! Хоть какая-то культура программирования должна же быть!!!

Говностандарты не нужны.
Нужна нормальная техническая документация на девайсы.

pacify ★★★★★
()

xinetd и примеры на C/C++ - это гениально :)

xpahos ★★★★★
()

Мог бы и про nc сказать. nc6 -l -p 1337 -e cat - вот вам и эхо сервер.

anonymous
()

Автор разморозился. суперсервер уже давно никто не использует, как и fork(), а также юниксовый ipc.

farafonoff ★★
()

Отличная статья.

trex6 ★★★★★
()

как , в более понятной форма,

крутай статья

tazhate ★★★★★
()
Ответ на: комментарий от farafonoff

Вот кстати, почему в качестве ipc ныне используется б-гомерзкий dbus? Какой от него профит, в особенности с учетом отсутствия в нем сетевой прозрачности?

eagleivg ★★★★★
()

Здравствуй, переполнение буфера!

#include "common.cc.h" 
#include "common.c.h" 

int main( void ) { 
   char buf[ 80 ];
   // установить построчный режим ввода, но и это не обязательно… 
   setvbuf( stdout, NULL, _IOLBF, 0 ); // или setlinebuf( stdout ); 
   while( true ) { 
      cin >> buf;
      cout << buf << endl; 
   }
   return EXIT_SUCCESS; 
}

Господи, убей малолетних недоумков, хватающих без спросу лезвия бритвы!
Ох, как же был все-таки прав старик Вирт...
anonymous
()
Ответ на: комментарий от ChAnton

Никто не мешат контроллировать память. Мозги включи для начала.

Какую ты память собрался контролировать, дятло, если он в стековый буфер из сети льет? И да, программу проверки орфографии включи для начала, коли безграмотен.

anonymous
()

Из: man setvbuf

BUGS

You must make sure that the space that buf points to still exists by the time stream is closed, which also happens at program termination. For example, the following is invalid:

#include <stdio.h>

       int
       main(void)
       {
           char buf[BUFSIZ];
           setbuf(stdin, buf);
           printf("Hello, world!\n");
           return 0;
       }
dik
()

Слишком большая концентрация ненадежности получается на суперсервере. А код примеров на С плохой.

bk_ ★★
()

Цитата:

С чего начинает программист, когда перед ним ставится задача написания TCP/IP сервера, особенно если это клиент-серверное TCP/IP приложение для него – хронологически первое в его биографии? C судорожной проработки техники написания IP коммуникаций, сравнения механизмов BSD socket с механизмами TLI SRV4 и т. д.

facepalm.jpg

Автор, спасибо за материал, он забавен, но баги там вырвиглазные.

P.S. Юзать xinetd не буду, так как мне кажется что проще юзать Qt.

RR42
()

когда писать программы лень

Ну так и не писал бы. Примеры ужасны. xinetd настраивается администратором, прикладному программисту он бесполезен. «За прошедшие 10 лет» автор так и не научился безопасно программировать. «все мы, в силу определённых исторических обстоятельств, выросли из Windows» — это ваще капец, отучаемся говорить за всех!

Casus ★★★★★
()

автор знатно угорел. nodejs же

bobrik
()

Обратите внимание на загрузку процессора при посещении сайта по ссылке

Все бы хорошо, но почему при включенном js в браузере при просмотре сайта http://rus-linux.net загрузка всех процессоров прыгает до 90%?;) Владелец либо ищет внеземные цивилизации, либо приключения на свою задницу.

Совет: Перед посещением этого сайта отключайте js, либо внесите его в список сайтов, где выполнение скриптов запрещено.

glibych ★★
()

Да, учитывая песец на тему буфероверфлоу - шикарная иллюстрация на тему того что systemd говно, как и любой Си код не на своем месте, а шеллскрипты рулят.

kernel ★★☆
()

Все бы хорошо, но почему при включенном js в браузере при просмотре сайта http://rus-linux.net загрузка всех процессоров прыгает до 90%?;)

0% - ЧЯДНТ?

FeyFre ★★★★
()

Чтобы тебя засосало обратно на опеннет и не выпускало до тех пор, пока баги не поправишь! :)

anonymous
()
Ответ на: комментарий от kernel

Да, учитывая песец на тему буфероверфлоу

Так как код там на С++, то это песец с мозгами кодонаписателя. Ведь не зря же std::string существует.

KennyMinigun ★★★★★
()
Ответ на: комментарий от anonymous

чур меня, чур!

Ты в каких выборах участвуешь?

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от glibych

Отключен флеш?

Всё включено. Антиреклама отключена.
ЗЫ: Opera
PPS: действительно. это особенность флеша на линухе. на оффтопе норма.

FeyFre ★★★★
()
Ответ на: комментарий от RR42

P.S. Юзать xinetd не буду, так как мне кажется что проще юзать Qt.

автор знатно угорел. nodejs же

шли бы вы обратно в винду, а... не удивляюсь уже, что последняя абанта тормозит сильнее свисты — видимо, там тоже такие вот быдлокодеры заправляют.

anonymous
()
Ответ на: комментарий от wd

Хакер! Вообще, имеет смысл писать код, который легко читать/исправлять, а не который меньше символов занимает ;)

Casus ★★★★★
()

На самом деле популярность node.js проистекает за безуспешностью внедрить в браузе еще хоть один язык. Как нетшкаф взял жабий скрип и пытались и ВБ и Пайтон и что только не пытались.... JS лично для меня очень неудобный язык. Есть свои плюшки, да. Но очень плох...

demmsnt
()

когда писать программы лень

Разве когда лень писать программы не используется что-нибудь попсовое вроде Haskell?

harper
()
Ответ на: комментарий от FeyFre

На офтопе аппаратное ускорение работает во флеше как надо, поэтому загрузки процессора не видно скорее всего.

glibych ★★
()

Да ужжжж не думал что доживу до таких статей. :)

robot12 ★★★★★
()

«Да это же отходы научной деятельности для канцеляристов!» (с)

lnx
()

Ну что делает этот кал на главной?

anonymous
()
Ответ на: комментарий от gh0stwizard

nc это ещё ерунда. вот есть такая знатная штукенция как socat, вот это мегапушка, там nc отдыхает

swar0g ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.