Problema al enviar un archivo por winsock Hola, tengo una aplicacion cliente - servidor.
Para enviar unn archivo uso este codigo.
En el Servidor:
Dim FN As Long
Dim wptr As Long
Dim bytes As Integer
Dim stream As String
FN = FreeFile
strArch = ArchivosSend(1)
Open strArch For Binary As #FN
sasi = Right(strArch, Len(strArch) - InStrRev(strArch, "\", -1, vbTextCompare))
Me.Winsock1(ActIndex).SendData "%" & sasi & "%" & LOF(FN)
DoEvents
wptr = 1
Do Until wptr > LOF(FN)
If ((LOF(FN) - wptr) + 1) > 32766 Then
bytes = 32766
Else
bytes = ((LOF(FN) - wptr) + 1)
End If
stream = String(bytes, " ")
Get #FN, wptr, stream
Winsock1(ActIndex).SendData "@" & stream
DoEvents
wptr = wptr + bytes
Loop
Close #FN
Y en el dataarrival del cliente:
goten = goten + Len(Mid(a, 2, Len(a)))
If goten >= fillen Then
Dim i As Long
Data = Mid(a, 2, Len(a))
ss = FreeFile
Open "c:\" & Arch For Binary As #ss
Put #ss, , Data
Close #ss
fillen = 0
goten = 0
Arch = ""
strReceptor = ""
End If
(estos codigos los saque de un par de post de este foro y lo intente adaptar)
El problema es que por ejemplo yo quiero tranferir un archivo de texto.
-Se crea bien el archivo.
-Cuando hace el "PUT" , Data dice lo que esta en el txt.
Pero cuando uno quiere ver ese txt y lo abre en vez de ver lo que estaba en el archivo original se ve:
"&氮潣据慨搠慬氠牯⁹慬瀠瑵慭牤"
¿Alguien sabe en que estoy fallando?
Gracias. |