
Envio de archivos por partes [Winsock]
Publicado por illuminat3d (1 intervención) el 21/03/2016 18:59:04
Hola chicos, lo primero muchas gracias por leer, lo segundo vengo con un problema estoy haciendo una herramienta de administracion remota y estoy haciendo las funciones de descarga de archivo y subida de archivo.. el problema viene cuando los archivos son grandes y winsock no envia todos el contenido de una lo que hice fue hacer un loop y al abrir el archivo con un bucle dentro pues compruebo que no esta en el final del archivo y voy enviando con winsock, que problema tengo pues que los datos a veces llegan mezclados o se salta los delimitadores aqui dejo el codigo..
Estoy buscando que alguien me haga una funcion o modulo para enviar archivos por partes.
Codigo de cliente : :
CODIGO SERVIDOR :
Alguien que me haga un ejemplo?, muchas gracias!
Estoy buscando que alguien me haga una funcion o modulo para enviar archivos por partes.
Codigo de cliente : :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Private Sub WS_DataArrival(Index As Integer, ByVal bytesTotal As Long)
WS(Index).GetData Datos
tDatos = ""
If String(Len(Datos), Chr(0)) <> "" Then tDatos = tDatos & Datos
If InStr(1, tDatos, "/S/") Then
Data = Split(tDatos, "|")
Select Case Data(1)
Case "Conexion": Call vConexion(Index): frmNotify.Label1.Caption = Data(2)
Case "Informacion": Call vInformation
Case "dwnFile": Call dwnFile
Case "CapturarPantalla": Call Capturar_Pantalla
End Select
tDatos = ""
End If
End Sub
Public Function dwnFile()
On Error Resume Next
Dim fData() As String
Dim f_Name As String
Dim f_Len As Long
Dim uName As String
Dim uIP As String
FF = FreeFile
fData = Split(Replace$(tDatos, "/S/|dwnFile|", ""), "|$--$|")
Archivo = Archivo + fData(0)
f_Name = fData(1)
f_Len = fData(2)
frmEspecifico = fData(3)
uIP = Split(frmEspecifico, "/")(1)
uName = Replace(Split(frmEspecifico, " Administrando a ")(1), "/" & uIP, "")
Create_Folders (uName)
If Len(Archivo) >= f_Len Then
Open App.Path & "\Usuarios\" & uName & "\Descargas\" & fData(1) For Binary As FF
Put FF, , Archivo
Close FF
Archivo = ""
End If
End Function
CODIGO SERVIDOR :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Function dwFile()
Dim aBuff As String * 8024
Dim f_Name As String
Dim Largo As Long
frmEspecifico = Data(3)
f_Name = Split(Data(2), "\")(UBound(Split(Data(2), "\")))
FF = FreeFile
Open Data(2) For Binary As FF
Do While Not EOF(FF)
DoEvents
Get FF, , aBuff
Largo = LOF(FF)
eDatos = "/S/|dwnFile|" & aBuff & "|$--$|" & f_Name & "|$--$|" & Largo & "|$--$|" & frmEspecifico & "|$--$|"
Call sDatos(eDatos)
Loop
Close FF
End Function
Alguien que me haga un ejemplo?, muchas gracias!
Valora esta pregunta


0