Страница: 1 |
Получаю данные так: 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
bytesTotal не пройдет, он показывает длинну прибывших, а челу как я понял надо чтоб все отправленное складывалось, а по окончанииотправки выводилось в бокс. Так? Ну тут я бы предложил добавить вот что: С клиента в конце отправки досылать какой нить стоппер. Любой символ или строку о которой ты точно будешь знать что это окончание передачи. И встретив этот стоппер выводи все в бокс. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Data As String Static Buffer As String Winsock1.GetData Data, vbString If ata="End of Transmition" Then' Text1.Text = Buffer else Buffer = Buffer & Data End If End Sub Удачи Не получится стоппер поставить, т.к. я с разных серверов загружаю страницы. Может есть другой способ? Страницы загружаешь? А почему винсоком? Попробуй Microsoft Internet Transfer Control. Он именно для этого и живет. В любом случае, если ты не знаешь длинну передачи , то другого способа я не вижу. Хотя тут я не спец, может другие чего скажут . Получить все разом у тебя не получится с винсокам (может если только настройки какие в реестре поменять, но я бы не стал этого делать). Если ты работаешь со своим же клиентом(сервером), то пусть он шлет в начале, в первых 4 байтах длину файла. Дальше можно поставить какой-нибудь флажок, что именно шлется, если есть необходимость. А вот если ты с веб-сайтов качаешь страницы, то действительно лучше использовать Microsoft Internet Transfer Control Страница: 1 |
Вопрос: Проблема с WInsock'ом
Добавлено: 25.06.03 21:08
Автор вопроса: Demon | Web-сайт:
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
j3d1
ICQ: 8370005
Вопросов: 34
Ответов: 466
Профиль | | #1
Добавлено: 25.06.03 21:45
попробуй сверять значения с bytesTotal
Номер ответа: 2
Автор ответа:
MAGNUS
Вопросов: 12
Ответов: 430
Профиль | | #2
Добавлено: 25.06.03 21:57
Номер ответа: 3
Автор ответа:
Demon
ICQ: 7026585
Вопросов: 18
Ответов: 96
Web-сайт:
Профиль | | #3
Добавлено: 25.06.03 22:08
Номер ответа: 4
Автор ответа:
MAGNUS
Вопросов: 12
Ответов: 430
Профиль | | #4
Добавлено: 25.06.03 22:40
Номер ответа: 5
Автор ответа:
Alex3
ICQ: 9481061
Вопросов: 18
Ответов: 132
Профиль | | #5
Добавлено: 26.06.03 10:06