<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674687</guid>
        <pubDate>Wed, 22 Jun 2016 21:04:55 +0000</pubDate>
        <title>Собственный FTP клиент или безысходность за 12 часов до сдачи проекта.</title>
        <link>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674687</link>
        <description><![CDATA[JoeUser: <strong class='tag-b'>DLamer</strong>, и еще ... если дисциплина не требует чистого Си - пользуйся конструкциями C++, тупо сэкономишь время, и домашнее электричество на набор текста  :lol:]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674685</guid>
        <pubDate>Wed, 22 Jun 2016 20:59:40 +0000</pubDate>
        <title>Собственный FTP клиент или безысходность за 12 часов до сдачи проекта.</title>
        <link>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674685</link>
        <description><![CDATA[DLamer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=409049&view=findpost&p=3674684'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2016-06-22T20:52:44+00:00">22.06.16, 20:52</time></span><div class='quote '></div></div><br>
<br>
Спасибо за совет, попробую.)]]></description>
        <author>DLamer</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674684</guid>
        <pubDate>Wed, 22 Jun 2016 20:52:44 +0000</pubDate>
        <title>Собственный FTP клиент или безысходность за 12 часов до сдачи проекта.</title>
        <link>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674684</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=409049&view=findpost&p=3674680'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>DLamer &#064; <time class="tag-quote__quoted-time" datetime="2016-06-22T20:18:00+00:00">22.06.16, 20:18</time></span><div class='quote '>Чай третий день уже без сна до сдаю проекты и дописываю проекты и дописываю курсовую</div></div><br>
<strong class='tag-b'>DLamer</strong>, извиняй за оффтоп. Сам в таком режиме сдавал диплом - сочувствую. Если время жмет - обращайся в наш раздел &quot;помощь студентам&quot;. Там тебе гораздо быстрее помогут за небольшую плату. Но твои вопросы явно не будут проброшены.<br>
<br>
Ну а если время терпит - не вопрос, давай тут решать.]]></description>
        <author>JoeUser</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674680</guid>
        <pubDate>Wed, 22 Jun 2016 20:18:00 +0000</pubDate>
        <title>Собственный FTP клиент или безысходность за 12 часов до сдачи проекта.</title>
        <link>https://forum.sources.ru/index.php?showtopic=409049&amp;view=findpost&amp;p=3674680</link>
        <description><![CDATA[DLamer: Приветствую вас уважаемые форумчане, всем доброго времени суток. Передо мной была поставлена задача по реализации собственного консольного FTP клиента совместимого со сторонними FTP серверами, способного залогинится на сервере, выполнить следующие стандартные команды: ls, pwd, put, get, cd, quit. На данный момент клиент способен по ip подсоединиться к стандартному серверу, а так же готовы команды: pwd, cd, quit... А вот с оставшимися реальные проблемы ибо для их реализации требуется выковырять из сервера номер порта по которому устанавливается соединение для передачи файлов между севером и клиентом, а я хоть и примерно представляю себе как это сделать, но крайне смутно... Да и не в том я состоянии для маштабной интеллектуальной деятельности.. Чай третий день уже без сна до сдаю проекты и дописываю проекты и дописываю курсовую (Это даже не преувеличение, четвертая ночь пошла). В связи с этим буду рад вашим советам, по реализации данных команд (ls, get, put), с радостью приму любые советы. Исходники своего клиента будет ниже в сообщении. Заранее благодарю.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;stdio.h&#62;</div><div class="code_line">#include &#60;fcntl.h&#62;</div><div class="code_line">#include &#60;netdb.h&#62;</div><div class="code_line">#include &#60;unistd.h&#62;</div><div class="code_line">#include &#60;stdlib.h&#62;</div><div class="code_line">#include &#60;strings.h&#62;</div><div class="code_line">#include &#60;string.h&#62;</div><div class="code_line">#include &#60;signal.h&#62;</div><div class="code_line">#include &#60;sys/types.h&#62;</div><div class="code_line">#include &#60;sys/wait.h&#62;</div><div class="code_line">#include &#60;sys/stat.h&#62;</div><div class="code_line">#include &#60;sys/sendfile.h&#62;</div><div class="code_line">#include &#60;unistd.h&#62;</div><div class="code_line">#include &#60;sys/socket.h&#62;</div><div class="code_line">#include &#60;netinet/in.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;arpa/inet.h&#62;</div><div class="code_line">#include &#60;errno.h&#62;</div><div class="code_line">#include &#60;libgen.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#include &#60;dirent.h&#62;</div><div class="code_line">#include &#60;string.h&#62;</div><div class="code_line">#include &#60;time.h&#62;</div><div class="code_line">#include &#60;pwd.h&#62;</div><div class="code_line">#include &#60;grp.h&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">#define PORTNUM 21</div><div class="code_line">&nbsp;</div><div class="code_line">int s, ds, k, i, &nbsp;result, size;</div><div class="code_line">char addr;</div><div class="code_line">&nbsp;</div><div class="code_line">// --------------------------------------Создаем подключение-------------------------------------</div><div class="code_line">int init_client(char* a){ </div><div class="code_line">&nbsp;&nbsp;char* b;</div><div class="code_line">&nbsp;&nbsp;int len;</div><div class="code_line">&nbsp;&nbsp;struct sockaddr_in server;</div><div class="code_line">&nbsp;&nbsp;s = socket(AF_INET, SOCK_STREAM, 0);</div><div class="code_line">&nbsp;&nbsp;if(s == -1){</div><div class="code_line">&nbsp;&nbsp; &nbsp;perror(&quot;socket creation failed&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;exit(1);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;if(inet_aton(a, &amp;server.sin_addr) &#62; 0){</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_family = AF_INET;</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_port = htons(PORTNUM);</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_addr.s_addr = inet_addr(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;strcpy(&amp;addr, a);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;else{</div><div class="code_line">&nbsp;&nbsp; &nbsp;struct hostent *he;</div><div class="code_line">&nbsp;&nbsp; &nbsp;he = gethostbyname(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;b = inet_ntoa(*(struct in_addr*)he-&#62;h_addr);</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_family = AF_INET;</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_port = htons(PORTNUM);</div><div class="code_line">&nbsp;&nbsp; &nbsp;server.sin_addr.s_addr = inet_addr(b);</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;%s\n&quot;,b);</div><div class="code_line">&nbsp;&nbsp; &nbsp;strcpy(&amp;addr, b);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;len = sizeof(server);</div><div class="code_line">&nbsp;&nbsp;k = connect(s,(struct sockaddr*)&amp;server, len);</div><div class="code_line">&nbsp;&nbsp;if(k == -1){</div><div class="code_line">&nbsp;&nbsp; &nbsp;perror(&quot;Connect Error&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;exit(1);</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//---------------------------------------Читаем сообщений сервера----------------------------</div><div class="code_line">&nbsp;</div><div class="code_line">int readServ(int i) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;int rc;</div><div class="code_line">&nbsp;&nbsp; &nbsp;fd_set fdr;</div><div class="code_line">&nbsp;&nbsp; &nbsp;FD_ZERO(&amp;fdr);</div><div class="code_line">&nbsp;&nbsp; &nbsp;FD_SET(i,&amp;fdr);</div><div class="code_line">&nbsp;&nbsp; &nbsp;struct timeval timeout;</div><div class="code_line">&nbsp;&nbsp; &nbsp;timeout.tv_sec = 1; &nbsp; ///зададим &nbsp;структуру времени со значением 1 сек</div><div class="code_line">&nbsp;&nbsp; &nbsp;timeout.tv_usec = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;do {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;char buff[512] ={&#39; &#39;};</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;recv(i,&amp;buff,512,0); &nbsp; ///получаем данные из потока</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;%s&quot;,buff);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;rc = select(i+1,&amp;fdr,NULL,NULL,&amp;timeout); &nbsp; &nbsp;///ждём данные для чтения в потоке 1 сек.</div><div class="code_line">&nbsp;&nbsp; &nbsp;} while(rc); &nbsp; &nbsp; ///проверяем результат</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">//-----------------------------Передаем серверу логин пароль-----------------------------------</div><div class="code_line">&nbsp;</div><div class="code_line">int login() {</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;Введите имя: \n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;char name[64];</div><div class="code_line">&nbsp;&nbsp; &nbsp;scanf(&quot;%s&quot;, name);</div><div class="code_line">&nbsp;&nbsp; &nbsp;char str[512];</div><div class="code_line">&nbsp;&nbsp; &nbsp;sprintf(str,&quot;USER %s\r\n&quot;,name);</div><div class="code_line">&nbsp;&nbsp; &nbsp;send(s,str,strlen(str),0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;readServ(s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;Введите пароль: \n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;char pass[64];</div><div class="code_line">&nbsp;&nbsp; &nbsp;scanf(&quot;%s&quot;,pass);</div><div class="code_line">&nbsp;&nbsp; &nbsp;sprintf(str,&quot;PASS %s\r\n&quot;,pass);</div><div class="code_line">&nbsp;&nbsp; &nbsp;send(s,str,strlen(str),0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;readServ(s);</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">&nbsp;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">//------------------------Говорим серверу вернуть адрес текущей директории----------------------</div><div class="code_line">/*int pwd(){</div><div class="code_line">&nbsp;&nbsp;char buff[128];</div><div class="code_line">&nbsp;&nbsp;sprintf(buff, &quot;PWD \r\n&quot;);</div><div class="code_line">&nbsp;&nbsp;send(s, buff, strlen(buff), 0);</div><div class="code_line">&nbsp;&nbsp;recv(s, buff, 256, 0);</div><div class="code_line">&nbsp;&nbsp;printf(&quot;Путь к текущей директории: %s\n&quot;, buff);</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}*/</div><div class="code_line">&nbsp;</div><div class="code_line">int pwd(){</div><div class="code_line">&nbsp;&nbsp;char buff[512];</div><div class="code_line">&nbsp;&nbsp;sprintf(buff,&quot;PWD \r\n&quot;);</div><div class="code_line">&nbsp;&nbsp;send(s, buff, strlen(buff), 0);</div><div class="code_line">&nbsp;&nbsp;readServ(s);</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">-------------------------Передаем команду сменить директорию----------------------</div><div class="code_line">&nbsp;</div><div class="code_line">int cd(char* str){</div><div class="code_line">&nbsp;&nbsp;char buff[128];</div><div class="code_line">&nbsp;&nbsp;sprintf(buff, &quot;CWD %s\r\n&quot;, str);</div><div class="code_line">&nbsp;&nbsp;send(s, buff, strlen(buff), 0);</div><div class="code_line">&nbsp;&nbsp;//recv(s, buff, 128, 0);</div><div class="code_line">&nbsp;&nbsp;readServ(s);</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">-----------------------------Неудачный эксперемент на тему ls------------------</div><div class="code_line">у ls</div><div class="code_line">int ls(){</div><div class="code_line">&nbsp;&nbsp;/*struct sockaddr_in address;</div><div class="code_line">&nbsp;&nbsp;int a, b, c, d, e, f;</div><div class="code_line">&nbsp;&nbsp;char buff[512];</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;char size[128];</div><div class="code_line">&nbsp;&nbsp;sprintf(size, &quot;PASV\r\n&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;send(s, size, 128, 0);</div><div class="code_line">&nbsp;&nbsp;recv(s,size,128,0);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;printf(&quot;%s&quot;,size);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;char *tmp_size;</div><div class="code_line">&nbsp;&nbsp;tmp_size = strtok(buff,&quot;(&quot;);</div><div class="code_line">&nbsp;&nbsp;tmp_size = strtok(NULL,&quot;(&quot;);</div><div class="code_line">&nbsp;&nbsp;tmp_size = strtok(tmp_size, &quot;)&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;printf(&quot;a\n&quot;);</div><div class="code_line">&nbsp;&nbsp;sscanf(tmp_size, &quot;%d,%d,%d,%d,%d,%d&quot;,&amp;c,&amp;d,&amp;e,&amp;f,&amp;a,&amp;b);</div><div class="code_line">&nbsp;&nbsp;int result;</div><div class="code_line">&nbsp;&nbsp;int port = a*256+b;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;ds = socket(AF_INET, SOCK_STREAM,0);</div><div class="code_line">&nbsp;&nbsp;address.sin_family = AF_INET;</div><div class="code_line">&nbsp;&nbsp;address.sin_port = htons(port);</div><div class="code_line">&nbsp;&nbsp;address.sin_addr.s_addr = inet_addr(&amp;addr);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;result = connect(ds, (struct sockaddr *)&amp;address, sizeof(address));</div><div class="code_line">&nbsp;&nbsp;if (result == -1) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;perror(&quot;client&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;return -1;</div><div class="code_line">&nbsp;&nbsp;}*/</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;char buff[128];</div><div class="code_line">&nbsp;&nbsp;strcpy(buff, &quot;PASV LIST \r\n&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;send(s, buff, 128, 0);</div><div class="code_line">&nbsp;&nbsp;recv(s, buff, 128, 0);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;readServ(s);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">--------------------------отключение от сервера-----------------------------------------</div><div class="code_line">&nbsp;</div><div class="code_line">int quit(){</div><div class="code_line">&nbsp;&nbsp;char buff[512];</div><div class="code_line">&nbsp;&nbsp;strcpy(buff, &quot;QUIT \r\n&quot;);</div><div class="code_line">&nbsp;&nbsp;send(s, buff, 512, 0);</div><div class="code_line">&nbsp;&nbsp;exit(0);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">int main(int argc, char* argv[]){</div><div class="code_line">&nbsp;&nbsp;char* com_list[20] = {&quot;ls&quot;, &quot;put&quot;, &quot;get&quot;, &quot;pwd&quot;, &quot;cd&quot;, &quot;quit&quot;, &quot;?&quot;}; //Список доступны команд</div><div class="code_line">&nbsp;&nbsp;char str[512], com[5];</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;init_client(argv[1]);</div><div class="code_line">&nbsp;&nbsp;login();</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;while(1){ //До тех пор пока не встретим в списке переданную нам команду или не осмотрим весь список смотрим массив </div><div class="code_line">&nbsp;&nbsp; &nbsp;printf(&quot;Введите команду:\n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;scanf(&quot;%s&quot;, com);</div><div class="code_line">&nbsp;&nbsp; &nbsp;int i = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;while(com_list[i]){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if(strcmp(com, com_list[i]) == 0){</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;i++;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;switch(i){//По индексу определяем нужную команду</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 0:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ls();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 1:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/*printf(&quot;Введите имя файла:&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;scanf(&quot;%s&quot;, com);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;put(com);*/</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 2:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/*printf(&quot;Введите имя файла:&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;scanf(&quot;%s&quot;, str);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;get(str);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;*/</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 3:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;pwd();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 4:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;Введите путь для смены директории: &quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;scanf(&quot;%s&quot;, str);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;cd(str);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 5:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;quit();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 6:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot; ls - список файов текущей дериктории.\n put - положить файл.\n get - взять файл.\n cd - сменить католог.\n delete - удаление файла \n quit - выключить клиент- сервер.\n ? - справка.\n\n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;case 7:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf(&quot;Неверная команда\n\n&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp;}</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>DLamer</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	