Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проблема с WInsock'ом Добавлено: 25.06.03 21:08  

Автор вопроса:  Demon | Web-сайт: update.sugardas.lt | ICQ: 7026585 

Получаю данные так:

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim Data As String

Winsock1.GetData Data, vbString

Text1.Text = Text1.Text & Data

End Sub

А мне нужно данные получить сразу а не почастям.

Типо так:

Dim Buffer As String

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim Data As String

Winsock1.GetData Data, vbString

Buffer = Buffer & Data

If (Что то тут должно быть) Then'

Text1.Text = Buffer

End If

End Sub

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #1 Добавлено: 25.06.03 21:45
попробуй сверять значения с bytesTotal

Ответить

Номер ответа: 2
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #2 Добавлено: 25.06.03 21:57

bytesTotal не пройдет, он показывает длинну прибывших, а челу как я понял надо чтоб все отправленное складывалось, а по окончанииотправки выводилось в бокс. Так?

Ну тут я бы предложил добавить вот что:

С клиента в конце отправки досылать какой нить стоппер. Любой символ или строку о которой ты точно будешь знать что это окончание передачи. И встретив этот стоппер выводи все в бокс.

 

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim Data As String

Static Buffer As String

Winsock1.GetData Data, vbString

If ;Data="End of Transmition" Then'

    Text1.Text = Buffer

else

    Buffer = Buffer & Data

End If

End Sub

Удачи

 

 

Ответить

Номер ответа: 3
Автор ответа:
 Demon



ICQ: 7026585 

Вопросов: 18
Ответов: 96
 Web-сайт: update.sugardas.lt
 Профиль | | #3
Добавлено: 25.06.03 22:08

Не получится стоппер поставить, т.к. я с разных серверов загружаю страницы. Может есть другой способ?

Ответить

Номер ответа: 4
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #4 Добавлено: 25.06.03 22:40

Страницы загружаешь? А почему винсоком?

Попробуй Microsoft Internet Transfer Control.

Он именно для этого и живет.

В любом случае, если ты не знаешь длинну передачи , то другого способа я не вижу. Хотя тут я не спец, может другие чего скажут .

Ответить

Номер ответа: 5
Автор ответа:
 Alex3



ICQ: 9481061 

Вопросов: 18
Ответов: 132
 Профиль | | #5 Добавлено: 26.06.03 10:06

Получить все разом у тебя не получится с винсокам (может если только настройки какие в реестре поменять, но я бы не стал этого делать). Если ты работаешь со своим же клиентом(сервером), то пусть он шлет в начале, в первых 4 байтах длину файла. Дальше можно поставить какой-нибудь флажок, что именно шлется, если есть необходимость.

А вот если ты с веб-сайтов качаешь страницы, то действительно лучше использовать Microsoft Internet Transfer Control

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам