mike2145
October 5th, 2001, 09:30 AM
Can anybody give me the necessary code to send a graphic file (Binary) and receive the same into a local intranet ??? Help please thanks
|
Click to See Complete Forum and Search --> : winsock binary file transfer mike2145 October 5th, 2001, 09:30 AM Can anybody give me the necessary code to send a graphic file (Binary) and receive the same into a local intranet ??? Help please thanks Iouri October 5th, 2001, 09:44 AM Send binary file Private Sub cmdSend_Click() On Error Resume Next 'prevents error If txtFile.Text = "" Then Exit Sub 'wont let someone send something not there strFileName = "" 'resets the filename blnSend = False 'sets it to false strSize = "" 'resets the size Open txtFile.Text For Binary As #1 'opens the file u want to send so it can be read strLOF = LOF(1) 'saves length of file into memory Winsock.SendData "Name" & CD.FileTitle & ":" & strLOF 'sends server the name of the file and its length DoEvents 'needed =D Do While blnSend = False 'keeps looping until the server accepts the request DoEvents 'lets u do stuff while in loop Loop 'goes back to Do WHile statement End Sub Iouri Boutchkine iouri@hotsheet.com Iouri October 5th, 2001, 09:47 AM Receive Private Sub Winsock_DataArrival(ByVal bytesTotal As Long) On Error Resume Next 'prevents error Dim strData As String 'holds data for select case Dim strData2 As String 'holds data Call Winsock.GetData(strData, vbString) 'gets the data sent by the server strData2 = Mid(strData, 5) 'gets data strData = Left(strData, 4) 'gets data for select case Select Case strData 'goes to the right case depending on strData Case "File" 'a file transfer is in progress Put 1, , strData2 'puts data into file PBar.Value = PBar.Value + bytesTotal 'shows how much is done so far strSoFar = strSoFar + bytesTotal 'calculates KBps Winsock.SendData "OKOK keep sending!" 'tells them ur done with the data and u want some more! DoEvents ' =D Case "Stop" 'the file exchange has ended Close #1 'closes the file 'resets the progressbar PBar.Value = 0 PBar.Max = 1 '===================== Me.Enabled = True 'reenables the form! Case "Nope" 'tells u that they declined ur request to give em a file MsgBox strFriend & " declined your file transfer request.", vbInformation, "File Transfer Canceled!" '<=- easy to get again Close #1 'closes the file 'stops the loops that was waiting for the boolean value to be true Do DoEvents Loop '========================== Case "OKOK" 'tells u they want more of the file blnSend = True 'tells u to keep sending Me.Enabled = False 'keeps form disabled PBar.Max = strLOF 'sets progressbar max to filesize If Not EOF(1) Then 'does this if not the end of the file If strLOF - Loc(1) < 2040 Then 'if you are at the last chunk of data strBlock = Space$(strLOF - Loc(1)) 'sets the block size to the size of the data (cause its less!) Get 1, , strBlock 'gets data Winsock.SendData "File" & strBlock 'sends data DoEvents ' =/ PBar.Value = PBar.Value + Len(strBlock) 'sets progressbar strSoFar = strSoFar + (strLOF - Loc(1)) 'sets KBps Winsock.SendData "Stop the maddness!" 'tells server THE TRANSFER IS ENDED! Close #1 'closes file 'resets the progressbar PBar.Max = 1 PBar.Value = 0 '==================== Me.Enabled = True 'reenables the form Else 'if not the last chunk strBlock = Space$(2040) 'sets block up to receive only 2040 bytes of data End If strSoFar = strSoFar + 2040 'calculates KBps Get 1, , strBlock 'gets data Winsock.SendData "File" & strBlock 'sends data DoEvents 'hmmmm once again PBar.Value = PBar.Value + Len(strBlock) 'sets progressbar End If End Select End Sub Iouri Boutchkine iouri@hotsheet.com codeguru.com
Copyright Internet.com Inc., All Rights Reserved. |