Здравствуйте дорогие товарищи программисты.
Проблема: Не принимаются данные в полном объёме с сервера при восылке ему сообщения такого родаchar buf1[] = "GET http://server/ HTTP/1.1\nHost: server\nUser-Agent: Mozilla/5.0\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\nAccept-Language: en-us,en;q=0.7,ru;q=0.3\nAccept-Encoding: gzip,deflate\nAccept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n\n";
Сервер отвечает, но поток данных прерывается по непонятной мне причине, выглядит это примерно так
GET http://chittel.ru/ HTTP/1.1
Host: chat.chittel.ru
User-Agent: Mozilla/5.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.7,ru;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
-----------------------
HTTP/1.1 200 OK
Date: Thu, 25 Jan 2007 10:02:45 GMT
Server: Apache/2.0.52 (Lineox)
X-Powered-By: PHP/4.3.9
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=cp1251
20dd
<HTML>
<HEAD>
<TITLE> </TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<STYLE type="text/css">
<!--
img {
border: none;
}
.tah10 {
font-family: Tahoma;
font-size: 10px;
text-decoration: none;
color: #000000;
}
.tah11 {
font-family: Tahoma;
font-size: 11px;
tex
Вопрос: почему?
Вот кратко кусок кода который соеденяется с сервером, посылает и принимает данные
if ((s = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("fuck socket re\n");
return(-1);
}
if (connect(s, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
{
printf("fuck connect re\n");
close(s);
return(-1);
}
if (send(s, buf1/*core_temp->buf_r_c*/, sizeof(buf1)/*SIZE_BUFF_C*/, 0) < 0 )
{
printf("fuck send re\n");
close(s);
return(-1);
}
printf("debug: send:\n%s", buf1/*core_temp->buf_r_c*/);
while ((n = recv(s, core_temp->buf_r_s, len, 0)) == 0)
{
printf("fuck recv re\n");
close(s);
return(-1);
}
Сразу хочется отметить что указатели, указывают на область памяти выделенной с помощью malloc, размер буфера порядка 50000 байт, эксперементировал с разными объёмами.
Заранее благодарен.