Передача данных

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

Передача данных

Сообщение homjak » 04.06.2005 (Сб) 21:01

Объясните пожалуйста, возможно ли (если возможно, то как) с помощью VB6 передать с одного компа на другой значения двух переменных (например А и В) по IP.

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 05.06.2005 (Вс) 2:58

Если тебя интересует как отправлять данные по сети.
То зайди вот на этот сайт:
http://www.vbprosto.narod.ru/там в разделе Cтатьи->Cеть->Winsock
Удачи!
С уважением, Алексадр.

homjak
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 04.06.2005 (Сб) 20:56

Сообщение homjak » 05.06.2005 (Вс) 6:52

Если тебя интересует как отправлять данные по сети.
То зайди вот на этот сайт:
http://www.vbprosto.narod.ru/там в разделе Cтатьи->Cеть->Winsock


Эта статья (и не только эта, вроде даже все) лежит у тебя на компе, а не на сайте. :?

Зато я там нашел пример TCP/IP чата. За это спасибо.

А есть у кого-нибудь пример, как отправлять файлы по TCP/IP?

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

Сообщение tyomitch » 05.06.2005 (Вс) 21:46

homjak писал(а):А есть у кого-нибудь пример, как отправлять файлы по TCP/IP?

Есть такая удивительная функция - TransmitFile. Найти пример поможет гугл.
Изображение

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 06.06.2005 (Пн) 1:00

А есть у кого-нибудь пример, как отправлять файлы по TCP/IP?
Каешн есть! на форуме поищи тут их море!!!!!!!!
З.Ы. Я уже такие топики воспринимаю как топик для флейма и т.п. :wink:
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

fort
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 10.05.2005 (Вт) 0:56
Откуда: Владивосток

Сообщение fort » 06.06.2005 (Пн) 3:36

а чем тебя Winsock не устраивает???

http://www.vbstreets.ru/VB/Articles/65986.aspx-посмотри, может это то что тебе надо???
хороший юзер - мертвый юзер!!!

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 06.06.2005 (Пн) 14:59

Sasha_karasov писал(а):Если тебя интересует как отправлять данные по сети.
То зайди вот на этот сайт:
http://www.vbprosto.narod.ru/там в разделе Cтатьи->Cеть->Winsock


Подредактируй ссылки на сайте. Они у тебя ведут на твой диск:
D:/Мои труды/
и т.д.

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 06.06.2005 (Пн) 19:57

а чем тебя Winsock не устраивает???

LooooooooooL!!! Еще один супер-мега кодер... TCP/IP - это протокол!!! а винсок это НЕ протокол!
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

fort
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 10.05.2005 (Вт) 0:56
Откуда: Владивосток

Сообщение fort » 07.06.2005 (Вт) 1:10

Jenizix ну скажем не мега-супер кодер... Но с помощью Winsock можно передовать инф. через TCP/IP протокол...


P.S. каюсь, несколько неверно сформулировал свой ответ...
видимо читать не умею... :wink:
хороший юзер - мертвый юзер!!!

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 07.06.2005 (Вт) 12:17

А еще и по протоколу UDP можно данные передавать с помощью винсока...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

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

Сообщение tyomitch » 07.06.2005 (Вт) 13:24

Jenizix писал(а):А еще и по протоколу UDP можно данные передавать с помощью винсока...

Jenizix, какое это имеет отношение к топику? :-?
Соревнуешься с fort-ом за звание супер-мега кодера?
Изображение

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 07.06.2005 (Вт) 14:11

нет =))))
он писал:
Но с помощью Winsock можно передовать инф. через TCP/IP протокол...

а я сказал что еще через UDP можно... да и сказал что винкос это не протокол
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

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

Сообщение tyomitch » 09.06.2005 (Чт) 11:59

Чего-то я посмотрел в инете - и правда, никто не юзает TransmitFile. Совершенно непонятно - всем так хочется повторять рутинную работу самим? :-?
Изображение

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 09.06.2005 (Чт) 12:09

tyomitch
используют, но не у нас :?
http://www.codeproject.com/isapi/imageserver.asp

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

Сообщение tyomitch » 09.06.2005 (Чт) 15:32

Ок - буду первым, кто догадался использовать TransmitFile в VB-прогах ;-)

Передача файла по сети без заморочек, без байтовых массивов, без кусков, без ничего.
Вложения
Xmt.rar
(2.64 Кб) Скачиваний: 93
Изображение

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 31.08.2005 (Ср) 14:54

tyomitch
Скачал тока нифига не понятно! Это клиент или сервер? и ещё если можно прокоментировать каждую строчку. (просто по Передачи файл через нет я ещё новичёк).

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 31.08.2005 (Ср) 15:21

это клиент-сервер :lol:

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

Сообщение tyomitch » 31.08.2005 (Ср) 16:15

neic писал(а):tyomitch
Скачал тока нифига не понятно! Это клиент или сервер? и ещё если можно прокоментировать каждую строчку. (просто по Передачи файл через нет я ещё новичёк).

Konst_One писал(а):это клиент-сервер :lol:

Угу. Там и клиент, и сервер в одном флаконе.
Winsock1 отправляет файл, а Winsock2 принимает.
Комментирую:
Код: Выделить всё
Private Sub Command1_Click()
If Winsock1.State = sckClosed Then
    Winsock1.RemoteHost = "localhost"
    Winsock1.RemotePort = 12345
    Winsock1.Connect 'подключиться к "серверу" Winsock2
    Do: DoEvents: Loop Until Winsock1.State = sckConnected
End If
Dim hFile As Long
hFile = CreateFile(Text1, GENERIC_READ, 0, ByVal 0&, OPEN_EXISTING, 0, 0) 'открыть файл для передачи
If hFile Then
    TransmitFile Winsock1.SocketHandle, hFile, 0, 0, ByVal 0&, ByVal 0&, TF_WRITE_BEHIND 'передать файл
    CloseHandle hFile 'закрыть файл
End If
End Sub

Private Sub Form_Load()
Winsock2.LocalPort = 12345
Winsock2.Listen '"сервер" слушает на 12345 порту
End Sub

Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
Winsock2.Close 'принимать все подключения
Winsock2.Accept requestID
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim s As String: Winsock2.GetData s 'считать полученные данные
Text2 = Text2 & s 'показать полученные данные в текстбоксе
End Sub
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.06.2006 (Пн) 16:11

Насколько я понял, это только для приема/передачи текста.
А как быть, допустим, с приложениями?

Посмотрите, плз, мой файлообменник, скажите, что изменить надо (чтобы не только текст принимать/отправлять)!
Вложения
Transmission.rar
Файлообменник
(2.64 Кб) Скачиваний: 48
Подпись находится в стадии разработки...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.06.2006 (Пн) 16:13

Конь, приложения и вообще файлы - практически тот же текст.

Байтовый массив, если точнее. Читай файл в массив и отправляй его так же, как текст.

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.06.2006 (Пн) 16:18

Amed
Вообще-то да, но после передачи приложение не работает. Попробуй сам - запусти дважды мой "файлообменник" и пошли на IP 127.0.0.1 любое приложение!
Подпись находится в стадии разработки...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.06.2006 (Пн) 16:27

Я не смотрел и не пробовал. Подозреваю, что передаешь массив как строку, и при этом все нулевые байты теряются.

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

Сообщение tyomitch » 05.06.2006 (Пн) 17:08

Конь, посмотри прикреплённый выше пример.
Там передаётся именно файл, причём без чтения его в байтовый массив и прочих премудростей.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 05.06.2006 (Пн) 18:03

Ты про то, где контент идет в переменную "s"?
Подпись находится в стадии разработки...

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

Сообщение tyomitch » 05.06.2006 (Пн) 18:20

Ещё один считающий, что в переменной типа String может лежать один только текст?
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 06.06.2006 (Вт) 5:28

Я то же самое пытался сделать на твоем примере, tyomitch, только вместо "Text2 = Text2 & s" писал:

Open "C:\1.exe" For Output As #1
Print #1, s
Close #1

Не работает.
Подпись находится в стадии разработки...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.06.2006 (Вт) 7:28

Конь, как ты думаешь, зачем в примере была точка с запятой?
Lasciate ogni speranza, voi ch'entrate.

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 06.06.2006 (Вт) 7:32

alibek
А ты как думаешь, почему я ее не вижу? :shock:
Подпись находится в стадии разработки...

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

Сообщение tyomitch » 06.06.2006 (Вт) 8:09

Конь писал(а):alibek
А ты как думаешь, почему я ее не вижу? :shock:

Наверное, близорукость от слишком долгого сидения перед монитором?
Посмотри сюда ещё раз, внимательно и с лупой.
Изображение

Конь
Постоялец
Постоялец
 
Сообщения: 650
Зарегистрирован: 02.06.2006 (Пт) 6:49
Откуда: г. Красноярск

Сообщение Конь » 06.06.2006 (Вт) 9:23

Код: Выделить всё
Private Sub WSG_DataArrival(ByVal bytesTotal As Long)

    Dim GD As String: WSG.GetData GD
    Open txtFile.Text For Append As #1
    Print #1, GD;
    Close #1
   
    cmdStop_Click
    StBar.SimpleText = "Готово"

End Sub


Ты имел в виду сделать так?
Подпись находится в стадии разработки...

След.

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

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

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 44

    TopList