таймаут для винсок

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
zaf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 27.03.2006 (Пн) 23:04

таймаут для винсок

Сообщение zaf » 11.06.2006 (Вс) 1:16

Надо добавь WinSock Control и кнопку. В код формы вставить:

Winsock1.Protocol = sckTCPProtocol 'Установка протокола
Winsock1.Connect "имя_сервера", 80 'подключение через порт 80
While Not Winsock1.State = 7 'Ждем, пока подключится.
DoEvents '
Wend '

Parametrs="параметр1=значение&параметр2=значение" 'сохраняем параметры в 'переменной

Далее все зависит от того, каким методом передавать. Если через метод POST, то:

Winsock1.SendData "POST /адрес_скрипта HTTP/1.1" & vbCrLf
Winsock1.SendData "Content-Type: application/x-www-form-urlencoded" & vbCrLf
Winsock1.SendData "Host: имя_сервера" & vbCrLf
Winsock1.SendData "Content-Length: " & len(Parametrs) & vbCrLf & vbCrLf
Winsock1.SendData Parametrs & vbCrLf

Если через метод GET, то:

Winsock1.SendData "GET /адрес_скрипта?" & Parametrs & " HTTP/1.0" & vbCrLf & vbCrLf

Далее сервер запустит скрипт и передаст данные, еоторые выдаст скрипт, т.е страницу, которая появилась бы в браузере. Если надо принять эти данные, то добавь еще это:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
Winsock1.GetData Data
End Sub

В переменной Data будут только что принятые данные, сохрани их где-нибудь (например в другой переменной), можешь делать с ними, что захочешь. Сначала сервер выдаст ответ типа:

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Fri, 22 Feb 2002 11:12:20 GMT
Connection: Keep-Alive
Content-Length: 8
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQGQQQLBQ=DFPBBDBDJOGMHODFDFALACNK; path=/
Cache-control: private

После того, как параметры закончатся, будет пустая строка, а потом страница.
Количество символов указано в параметре Content-Length.


а таймаут как задать?
help plzz

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16496
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 11.06.2006 (Вс) 1:20

нифига себе!!! в природе оказывается существуют люди которые иногда читают FAQ :)

А на что нужен таймаут? на ответ сервера?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

zaf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 27.03.2006 (Пн) 23:04

Сообщение zaf » 11.06.2006 (Вс) 2:24

Хакер писал(а):нифига себе!!! в природе оказывается существуют люди которые иногда читают FAQ :)

А на что нужен таймаут? на ответ сервера?


Я хочу если ответ не приходит, то выполняю Winsock1.Close

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.06.2006 (Вс) 11:33

zaf, таймер повешай.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 14

    TopList