Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Winsock and file Добавлено: 26.03.05 07:06  

Автор вопроса:  Карась
Дайте исходник передачи файлов через winsock. Только без всяких других компонентов DLL’ок.

Ответить

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

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #1
Добавлено: 26.03.05 10:36
через винсок нет, есть через testsocket (он не внешний компонентЮ, компилится месте с прогой и ничего потом не требует, типа винсока или длл'ок):
http://dasharm.iatp.org.ua/index.php?action=download&nav=2

Ответить

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



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #2
Добавлено: 27.03.05 23:25
не требует, типа винсока

дык в винде же вроде он уже есть?!

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #3
Добавлено: 28.03.05 22:18

а, точно, забыл...Он ведь есть так, как и.NET Framework... :)

нету его там, нету...

Ответить

Номер ответа: 4
Автор ответа:
 Карась



Вопросов: 6
Ответов: 10
 Профиль | | #4 Добавлено: 29.03.05 05:41
Вот написал исходник передачи файлов по сети, но он у меня медленно каптирует файлы.
Может поможете мне разобраться почему медлено копирует.
Вот код:

CLIENT:
‘IP – TextBox
‘Port - TextBox
‘Command1 – это connect
‘Command2 - SendFile
‘Text2 – пут к файлу
‘WS – Winsock
--------begin cod client-----------------------
Dim PaketWait As Boolean
Dim t As String
Dim i As Long
Dim OK As Boolean
Private Sub Command2_Click()
Send_File
End Sub

Private Sub Form_Load()
PaketWait = False
IP.Text = ws.LocalIP
End Sub
Private Sub Command1_Click()
ws.Close
ws.RemoteHost = IP
ws.RemotePort = Port
ws.Connect
End Sub



Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
ws.GetData Data
If Data = "+OK" Then OK = True
End Sub

Private Sub ws_SendComplete()
PaketWait = True
End Sub



Public Function Send_File() As Boolean
Send_File = False
Dim s As String
Dim l
Dim SF As String
l = FileLen(Text2.Text)
PaketWait = False
ws.SendData "FINFO" & l
Do While PaketWait = False
DoEvents
Loop
PaketWait = False
Open Text2.Text For Binary As #1
    s = String(2048, vbNullChar)
    ;Dim tmp As String
    ;Do Until EOF(1)
        ;DoEvents ' Даже если это убрать тоже долго и висит пока не скопирует
        PaketWait = False
        
        Get #1, , s
        ws.SendData s
        
        
        
    Loop
Close #1
Send_File = True
End Function

-----------------------end client---------------------

SEVER

Command2 – Сохранит файл
Text2 – Куда сохранить
P – ProgressBar

-------------А вот код-----------------------------
Dim File As String
Dim FS
Dim FSize
Private Sub Command2_Click()
Open Text1.Text For Output As #1
Print #1, File
Close #1
File = ""
End Sub
Private Sub Form_Load()
Me.Show
WS.Close
WS.LocalPort = 100
WS.Listen
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
WS.Close
WS.Accept requestID
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)

Dim Data As String
WS.GetData Data
If Mid(Data, 1, 5) = "FINFO" Then
FSize = Int(Mid(Data, 6, Len(Data)))
P.Max = FSize
Exit Sub
End If
FS = FS + Len(Data)

If FS >= FSize Then
    P.Value = P.Max
    MsgBox "FILE +OK"
    Exit Sub
Else
    P.Value = FS
End If

File = File + Data
End Sub


------------------все --------------------

Только не надо говорит что у меня всегда пакеты по 2048 байт, даже если надо отослать <2048 байт, просто я это потом сделаю.

Ответить

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



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #5
Добавлено: 29.03.05 17:25
 Карась, чем он лучше моего?

Ответить

Номер ответа: 6
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 29.03.05 21:58
Наверное лучше он тем, что он твоего не видел а сам попробовал дойти и понять.. Я тоже щас твои примерчики разные разбираю, DaSharm

Ответить

Номер ответа: 7
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #7
Добавлено: 29.03.05 22:01

а...ну наверное...

Ответить

Страница: 1 |

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



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