Этот компонент сокета создан компанией, разработавшей jmail.
Очень старая версия. Но это довольно хорошо. Я использую его все время.
Относительно стабильно. Ранее я обнаружил, что xmlhttp не работает должным образом на сервере win2003. Если трафик большой, IIS легко выйдет из строя. Этот компонент достаточно стабилен.
paraHost =" www.downcodes.com " ' хост
параПорт = 80 'порт
paraFileUrl="/test/test.htm"
Установить Socket = CreateObject("Socket.TCP")
Socket.Host = paraHost & ":" & paraPort
Socket.Timeout = параTimeout
Если Err.Number <> 0 Тогда Err.Clear
Розетка.открыть
' ошибка тайм-аута = 8000ffff
Socket.SendLine «GET» и paraFileUrl и «HTTP/1.0»
Socket.SendLine "HOST:" и paraHost
Сокет.SendLine ""
Сокет.SendLine ""
'Сон 200
Socket.WaitForDisconnect
Если Номер ошибки <> 0 Тогда
ответ.записать Номер ошибки & " -- " & Описание ошибки
Очистить.
Еще
response.write HTTPResponse(Socket.Buffer, 1) 'вывод текста из сокета
Конец, если
Розетка.Закрыть
Установить сокет = ничего
Частная функция HTTPResponse(ByVal toHTTPResponse, ByVal thatHTTPResponse)
При ошибке Возобновить Далее
Тусклый разделитель HTTPResponseDelimiter
HTTPResponseDelimiter = Chr(13) & Chr(10) & Chr(13) & Chr(10)
Если (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) <> 0) Тогда
Выберите случай, которыйHTTPResponse
Случай 0 'Заголовок
HTTPResponse = Mid(toHTTPResponse, 1, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1))
Случай 1 «Тело
HTTPResponse = Mid(toHTTPResponse, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) + Len(HTTPResponseDelimiter)), (Len(toHTTPResponse) - (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1)))
Конец выбора
Конец, если
Конечная функция