ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #111  
Старый 01.08.2007, 20:04
Аватар для da_ff
da_ff
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме:
413927

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

Цитата:
Сообщение от X-lord  
смысл ясен?
=) в том то и дело что не ясно
в том примере откуда взяты эти функции, они написаны с учетом что первые 2 байта сообщения будут содержать длину пришедшего сообщения, потом в куче выделяется место под запрос и читается челиком, ты же на все забил и сделал голую статику причем интересное место =)
if (recv(hSock,&Buff[0],sizeof(Buff[0]),MSG_PEEK)<=0) return WSAGetLastError();
ты читаешь 4 байта
if (RecvData(hSock,&Buff[0],sizeof(Buff))!=0) return WSAGetLastError();
а потом снова пытаешься прочитать 4 байта только уже другой фунуцией

Последний раз редактировалось da_ff; 01.08.2007 в 21:59..
 
Ответить с цитированием

  #112  
Старый 02.08.2007, 01:34
Аватар для X-lord
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

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

Цитата:
if (recv(hSock,&Buff[0],sizeof(Buff[0]),MSG_PEEK)<=0) return WSAGetLastError();
тормозим до момента приёма команды... с MSG_PEEK следующая ресив прочтёт эти 1! байта....
всм. блокирующий вызов без очистки вход. буфера

Последний раз редактировалось X-lord; 02.08.2007 в 01:40..
 
Ответить с цитированием

  #113  
Старый 02.08.2007, 01:39
Аватар для X-lord
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

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

Цитата:
if (RecvData(hSock,&Buff[0],sizeof(!!!!Buff!!!!))!=0) return WSAGetLastError();
а потом снова пытаешься прочитать 4 байта только уже другой фунуцией
весь буфер

Последний раз редактировалось X-lord; 02.08.2007 в 03:47..
 
Ответить с цитированием

  #114  
Старый 02.08.2007, 01:41
Аватар для X-lord
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

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

ЗАТУПИЛ=)

забыл размерность Char =)
 
Ответить с цитированием

  #115  
Старый 02.08.2007, 02:34
Аватар для X-lord
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

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

Цитата:
ты же на все забил и сделал голую статику
мне показалось - оптимальный вариант

а по хорошему ты прав... надо клиент делать на основе неблокирующих сокетов и
передавать (размер\ком\сабком\датален\ ата)
но пока пусть будет так
 
Ответить с цитированием

  #116  
Старый 02.08.2007, 03:46
Аватар для X-lord
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

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

оцени код по 10-и бальной шкале криворукости кодера
 
Ответить с цитированием

  #117  
Старый 02.08.2007, 19:17
Аватар для aivus
aivus
Новичок
Регистрация: 25.12.2006
Сообщений: 17
Провел на форуме:
65328

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

Хай!
1. Как лучше(и правильней) отделить заголовок от данных полученых с веб-сервера?
2. Как лучше получать данные с веб-сервера, что бы не ждать, пока по таймауту recv вернет false?
Код:
		/*--------Эту херню нада заменить нах-------*/
		do 

		if (recv(inet_Sock,Buff,4096,0)){

			//MessageBox(0,Buff,"Recv",0);
			
		}else break;

		while (1);
		/*------------------------------------------*/
 
Ответить с цитированием

  #118  
Старый 02.08.2007, 19:47
Аватар для da_ff
da_ff
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме:
413927

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

2 aivus
1)последовательность "\r\n\r\n" ты б хоть ознакомился с протоколом прежде чем что нибудь писать
2)используй асинхронные сокеты
 
Ответить с цитированием

  #119  
Старый 02.08.2007, 20:04
Аватар для aivus
aivus
Новичок
Регистрация: 25.12.2006
Сообщений: 17
Провел на форуме:
65328

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

Цитата:
1)последовательность "\r\n\r\n" ты б хоть ознакомился с протоколом прежде чем что нибудь писать
2)используй асинхронные сокеты
1)Я как раз думал написать в предыдущем посте "кроме \r\n\r\n". Просто думал мож можно как-то иначе, ладно... буду юзать этот способ...
2)Да тут дело как раз не в том... Просто имхо неправильно ждать таймаута recv и только потом ломать цыкл...
 
Ответить с цитированием

  #120  
Старый 03.08.2007, 19:31
Аватар для VERte][
VERte][
Moderator - Level 7
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме:
3013539

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

Такой вопросец: что делает следущая функция cout.setf(ios::left);
в учебнике вроде как написано, что сдвигает следущую надпись влево.
Но когда я записывают код типа:
cout<<123;
cout.setf(ios::left);
cout<<456;
у меня выводится на экран: 123456
Может кто подробнее написать, что делает эта функция? (таже в учебнике написано, что по умолчанию стоит cout.setf(ios::right), типа следующая запись выводится справа)
 
Ответить с цитированием
Ответ



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



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


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




ANTICHAT.XYZ