HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.02.2009, 15:15
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Поробовал отправить на фтп сервер такой запрос:
const char* buff_send = "USER 1\r\nPASS 123456\r\n";

Снова получилось , что отправилось 4байта.
В ответ пришел ОТВЕТ!!!
421 вы не заллгинились и т.д. и Read byte= 34.
Сейчас проблема - почему передает 4 байта???
 
Ответить с цитированием

  #2  
Старый 05.02.2009, 15:23
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

Репутация: 66
Отправить сообщение для awdrg с помощью ICQ
По умолчанию

Когда ты делаешь так:
Код:
const  char* buff_send = "USER 1\r\nPASS 123456\r\n";
ты создаешь 1 символ buff_send типа char (в винде вроде 4 байта и есть)
Чтобы передавало целую строку, нужно создать массив:
Код:
const char buff_send[64] = "USER 1\r\nPASS 123456\r\n";
и все отлично передается

Последний раз редактировалось awdrg; 05.02.2009 в 15:27..
 
Ответить с цитированием

  #3  
Старый 05.02.2009, 15:30
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Цитата:
Сообщение от awdrg  
Когда ты делаешь так:
Код:
const  char* buff_send = "USER 1\r\nPASS 123456\r\n";
ты создаешь 1 символ buff_send типа char (в винде вроде 4 байта и есть)
Чтобы передавало целую строку, нужно создать массив:
Код:
const char buff_send[64] = "USER 1\r\nPASS 123456\r\n";
и все отлично передается
внатуре передается.
И НА САЙТЫ СМОГ ЗАКОННЕТИСТЯ!!! УРА УРА УРА !!! ТУЦ ТУЦ
щас пойду смотреть как писать сервера... это вот сложнее

Последний раз редактировалось Glazz; 05.02.2009 в 15:37..
 
Ответить с цитированием

  #4  
Старый 05.02.2009, 17:08
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Вроде и сервер работает.

Только вот как реализовать получение сообщений в любое время?

Допустим я отпарвил на сервер текст. Чтоб сервер его принял , необходимо там сделать recv(); , а если сервер не ждет? Допустим чаты же как то делают.
 
Ответить с цитированием

  #5  
Старый 05.02.2009, 17:20
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

Репутация: 66
Отправить сообщение для awdrg с помощью ICQ
По умолчанию

Нужно сделать рекурсию на сервере.
Допиши в конце кода сервера, перед ретурном:
Код:
 main();
не уверен, но скорее всего будет работать
 
Ответить с цитированием

  #6  
Старый 05.02.2009, 19:10
xismyname
Познающий
Регистрация: 07.09.2008
Сообщений: 79
Провел на форуме:
272452

Репутация: 10
По умолчанию

Цитата:
Сообщение от awdrg  
Нужно сделать рекурсию на сервере.
Допиши в конце кода сервера, перед ретурном:
Код:
 main();
не уверен, но скорее всего будет работать
ЛОЛ )))) , скажу правду,более тупую вещь я еще не слышал.
 
Ответить с цитированием

  #7  
Старый 05.02.2009, 17:34
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

Glazz, сервер на то и сервер, что он всегда ждёт соединения, он случает какой-то порт, принимает на него соединение, запускает отдельный поток для обработки этого соединения, и продолжает слушать порт...
 
Ответить с цитированием

  #8  
Старый 05.02.2009, 17:55
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Цитата:
Сообщение от groundhog  
Glazz, сервер на то и сервер, что он всегда ждёт соединения, он случает какой-то порт, принимает на него соединение, запускает отдельный поток для обработки этого соединения, и продолжает слушать порт...
а вот еще - если сервак принял чела , допустим идет обмен всяким , ну займет секунд 30. Второй клиент будет ждать это время? а если очередь из 10 человек? вот как эта многопоточность еще делается?
 
Ответить с цитированием

  #9  
Старый 05.02.2009, 17:59
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

почитай про функцию accept из WinSock. Никто ничего не ждёт...
 
Ответить с цитированием

  #10  
Старый 05.02.2009, 18:23
Glazz
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
Провел на форуме:
560332

Репутация: 15
По умолчанию

Цитата:
Сообщение от groundhog  
почитай про функцию accept из WinSock. Никто ничего не ждёт...
Ну читал , он очередь из листена разргребает , ну ...
Видать я не правильно объясняю.

Допустим вот код:
Код:
 
while((client_s = accept(s, (sockaddr *)&client_addr,&client_addr_size)))
    {
       send();
      ....
    }
Ведь в таком случае каждый клиент будет ждать так?
А как сделать , чтоб одновременно могло обслуживаться 2 иболее человека?
Я конечно быдлокодер , я начинал изучать Си++ , потом мне сказали лучше Си , и вот я ООП си++ Р. Лафоре половину прочел и начал писать на си.

Может мне нужно Многозадачность?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ