function _functiob( Url: PAnsiChar; var OutBuf: PAnsiChar ): Boolean;
const
UrlExpr: PAnsiChar = '(http://)?([^/]+)(.+)';
HeaderTpl: PAnsiChar = 'GET ${3} HTTP/1.0'#13#10'Host: ${2}'#13#10'Connection: Close'#13#10#13#10;
var
S: TSocket;
R: HRegExp;
Cnt: Integer;
Buf: PAnsiChar;
BufLen, ResLen: Cardinal;
begin
OutBuf := Nil;
Result := False;
if ( Url = nil ) or ( RegComp ( UrlExpr, R ) <> RE_OK ) then
Exit;
S := INVALID_SOCKET;
try
if not RegExec( R, Url ) then
Exit;
Buf := RegMatchStr( R, 2 );
if (Buf = nil) then Exit;
S := CreateSocketAndConnect( Buf );
StrDispose( buf );
if ( S = INVALID_SOCKET ) then
Exit;
Buf := StrNew(Url);
BufLen := StrLen(Buf);
RegReplace(UrlExpr, HeaderTpl, Buf, BufLen, 1);
if (not SendSocketData(S, Buf, BufLen)) then
Exit;
StrRealloc(OutBuf, ResLen + 1);
OutBuf[ResLen] := #0;
Result := True;
finally
if (Buf <> Nil) then StrDispose(Buf);
if (not Result) and ( OutBuf <> Nil ) then
begin
StrDispose(OutBuf);
OutBuf := Nil;
end;
if (S <> INVALID_SOCKET) then
CloseSocket( S );
RegFree( R );
end;
end;
Я вот что думаю по этому поводу. Мой отец всегда говорит «От слова до дела — пустыня Сахара». Врятли найдется много людей которые скажут что Microsoft умеет делать веб сервисы, особенно такие сложные как поисковые системы. Да они буду вкладывать деньги, да они начнут привлекать лучших. Но ведь Google тоже не дремлет. Да и с деньгами проблем у них нет. Трудно играть в игру плохо понимая правила. А в Google на этом собаку съели.
Единственное что в итоге может получиться,- это переход на еще более высокие уровни и внедрение самых последних технологий от гигантов, что на, пользователям только на руку. Но вот 80% им точно не видать. Как думаете?
Даже не знаю что и сказать. 10 минут времени проведенных на сервисе были потрачены не зря. Ушел с чувством полнейшего умиления и приподнятого настроения.
И еще. Громко не значит мощно и качественно. 2 мониторные колонки никогда не создадут нормального давления, особенно когда вы говорите о мероприятии для такого кол-ва человек. То что не тихо играло это да. А в остальном вы не правы. Кроме того, чаще всего у дешевой активной акустики сильно растет КИИ по мере нагрева.
ммм… Странно. Я видимо чего-то недопонимаю в условии задачи.
2 варианта
1) Вы — провайдер и режете канал в соответствии с аккаунтами пользователей. И вам всеравно как тот или иной юзер использует выделенную ему полосу.
2) Офис. Не много машин. Около N мегабит канал. Все равноправны. Мы сразу разделим его на полосы с различными приоритетами. А потом все это добро распределим между пользователями. Во 2м случае влияние низкоприотетного трафика не должно сказываться на высокоприоритетном (в идеале конечно). Если у вас к примеру X машин. То вы указываете минимально гарантированную скорость равную ширине канала без поправки в 2-3% от первого параметра и поделенную на кол-во пользователей (X). Максимальное же пропускную способность можно установить как (0,9*N)/X.
Указанные параметры притянуты за уши, дабы проиллюстрировать решение. Не более того
На первый взгляд очень неплохая вещь. С удовольствием бы купил.
Думаю людей, которые любят обходится максимально компактными и функциональными вещами много. Главное чтобы не сбоило)
А какой тогда толк от облака?
При обработке больших, очень больших упакованных файлов еще виден смысл, но большинство вредоносного софта это очень маленькие и компактные продукты инженерной мысли. Следовательно обработка какого либо файла займет много меньше времени чем его пересылка и обработка, пусть даже на очень быстром процессоре
Все замечательно, но кое в чем я сомневаюсь. Неужели Google не будет использовать эту информацию для ранжирования поисковой выдачи для других пользователей? А если и так, то скоро появится новый инструмент у дорвейщиков)
Да с любым. Вы представляете сколько времени будет занимать проверка каждого файла?
Если вам доводилось писать драйвера-фильтры для FS, то вы знаете сколько файлов открывается ежесекундно. По сравнению с этим KAV просто сверхзвуковой самолет. Следовательно напрашивается вопрос,- Если не так, то как?
Так а чему удивляться то? Вконтакт на мой взгляд это много трафа за дешево.
Кто-нибудь видел приглашение в группу «VK Antispam». Там они предлагают скачать их софтину якобы для защиты от спама. Скачал, разобрал — очень кривая программа на Delphi в единственное окно которой нужно ввести почтовый ящик и пароль. После чего она пробует авторизоваться на vkontakte.ru и в случае успеха отправит данные на свой далекий сервер. Ни крипта вообще ничего. И весит 500 кб. Но тем не менее по данным файлообменников кол-во скачиваний исчисляется тысячами.
function _functiob( Url: PAnsiChar; var OutBuf: PAnsiChar ): Boolean;
const
UrlExpr: PAnsiChar = '(http://)?([^/]+)(.+)';
HeaderTpl: PAnsiChar = 'GET ${3} HTTP/1.0'#13#10'Host: ${2}'#13#10'Connection: Close'#13#10#13#10;
var
S: TSocket;
R: HRegExp;
Cnt: Integer;
Buf: PAnsiChar;
BufLen, ResLen: Cardinal;
begin
OutBuf := Nil;
Result := False;
if ( Url = nil ) or ( RegComp ( UrlExpr, R ) <> RE_OK ) then
Exit;
S := INVALID_SOCKET;
try
if not RegExec( R, Url ) then
Exit;
Buf := RegMatchStr( R, 2 );
if (Buf = nil) then Exit;
S := CreateSocketAndConnect( Buf );
StrDispose( buf );
if ( S = INVALID_SOCKET ) then
Exit;
Buf := StrNew(Url);
BufLen := StrLen(Buf);
RegReplace(UrlExpr, HeaderTpl, Buf, BufLen, 1);
if (not SendSocketData(S, Buf, BufLen)) then
Exit;
ResLen := 0;
OutBuf := Nil;
BufLen := StrBufSize(Buf);
repeat
Cnt := Recv( S, Buf^, BufLen, 0 );
if Cnt > 0 then
CollectBuf(Buf^, OutBuf, ResLen, Cnt);
until (Cnt <= 0);
If (GetHTTPAnsvNFromHeader(OutBuf) <> 200) then
Exit;
BufLen := GetHeaderSize( OutBuf );
if (BufLen = 0) then Exit;
Dec ( ResLen, BufLen );
Move ( OutBuf[BufLen], OutBuf^, ResLen );
StrRealloc(OutBuf, ResLen + 1);
OutBuf[ResLen] := #0;
Result := True;
finally
if (Buf <> Nil) then StrDispose(Buf);
if (not Result) and ( OutBuf <> Nil ) then
begin
StrDispose(OutBuf);
OutBuf := Nil;
end;
if (S <> INVALID_SOCKET) then
CloseSocket( S );
RegFree( R );
end;
end;
Try..Finally+ Exit внутри блока вместо goto.
Единственное что в итоге может получиться,- это переход на еще более высокие уровни и внедрение самых последних технологий от гигантов, что на, пользователям только на руку. Но вот 80% им точно не видать. Как думаете?
А вот закаленные это да)
Спасибо за столь доходчивое разъяснение
2 варианта
1) Вы — провайдер и режете канал в соответствии с аккаунтами пользователей. И вам всеравно как тот или иной юзер использует выделенную ему полосу.
2) Офис. Не много машин. Около N мегабит канал. Все равноправны. Мы сразу разделим его на полосы с различными приоритетами. А потом все это добро распределим между пользователями. Во 2м случае влияние низкоприотетного трафика не должно сказываться на высокоприоритетном (в идеале конечно). Если у вас к примеру X машин. То вы указываете минимально гарантированную скорость равную ширине канала без поправки в 2-3% от первого параметра и поделенную на кол-во пользователей (X). Максимальное же пропускную способность можно установить как (0,9*N)/X.
Указанные параметры притянуты за уши, дабы проиллюстрировать решение. Не более того
Думаю людей, которые любят обходится максимально компактными и функциональными вещами много. Главное чтобы не сбоило)
При обработке больших, очень больших упакованных файлов еще виден смысл, но большинство вредоносного софта это очень маленькие и компактные продукты инженерной мысли. Следовательно обработка какого либо файла займет много меньше времени чем его пересылка и обработка, пусть даже на очень быстром процессоре
Если вам доводилось писать драйвера-фильтры для FS, то вы знаете сколько файлов открывается ежесекундно. По сравнению с этим KAV просто сверхзвуковой самолет. Следовательно напрашивается вопрос,- Если не так, то как?
Кто-нибудь видел приглашение в группу «VK Antispam». Там они предлагают скачать их софтину якобы для защиты от спама. Скачал, разобрал — очень кривая программа на Delphi в единственное окно которой нужно ввести почтовый ящик и пароль. После чего она пробует авторизоваться на vkontakte.ru и в случае успеха отправит данные на свой далекий сервер. Ни крипта вообще ничего. И весит 500 кб. Но тем не менее по данным файлообменников кол-во скачиваний исчисляется тысячами.