Bueno, primero muchas gracias por responder tan rapido y aprovecho apra comentarte lo que estoy intentando desarrollaro. Es un cliente vb6 y un servidor vb.net por socket. LA comunicacion y envio de archivos desde vb6 hasta vb.net funciona genial...pero no se que sucede con enaviar archivos desde vb.net hasta vb6... inicialmente cargada todo en cadenas tipo string, pero veia que algunos caracteres especiales se transformaban en signos de pregunta(ni idea). Asi que cambia tanto vb6 y vb.net a bytes...pense que con eso todo estaria arreglado pero nada...ya intentes un seguimiento super tedioso byte por byte y comparando archivos una y ottra vez hay una similitud de casi un 80% aprox. Pero algunos caracteres y trozos de cadenas se ven muy distintos...
Comparto parte del codigo vb6. Esta es la parte que recibe la primera trama de entrada...
Código vb:
Ver originalifreefile = FreeFile
Open sFile For Binary Access Write As #ifreefile
Put #ifreefile, 1, getdatavar
Close #ifreefile
Y esta parte tambien de vb6, recibe el resto de los paquetes relacionados al archivo y los adiciona a la primera parte:
Código vb:
Ver originalifreefile = FreeFile
Open sFile For Binary Access Write As #ifreefile
Put #ifreefile, FileLen(sFile), getdatavar
Close ifreefile
............hasta hay todo lo que fue, vb6 ahora esta la parte de vb.net:
Código vb:
Ver originalDim GrabAmount As Integer
Dim typeFile As String
Dim NameFile As String
Dim sSendByteLen As String
'Esto define el tamaño de los paquetes
GrabAmount = 5000 'Bytes
typeFile = Right(FileName, Len(FileName) - InStrRev(FileName, "."))
NameFile = Right(FileName, Len(FileName) - InStrRev(FileName, "\"))
NameFile = Mid(NameFile, 1, Len(NameFile) - (Len(typeFile) + 1))
sSendByteLen = "[¹]" 'Esto le permite identificar si es un mensaje o un archivo
Debug.Print("SNDFile_Header>>" & sSendByteLen)
client.sendData(sSendByteLen) 'Aqui se envia la cabecera de archivo
LNFile = 0
Using sr As New FileStream(tUtil.ObjConfig(0).param & FileName, FileMode.Open, FileAccess.Read)
If GrabAmount > sr.Length Then GrabAmount = sr.Length 'Si el tamaño por defecto del buffer supera el tamaño del archivo, se cambia
Dim count As Integer = GrabAmount
Dim buffer(count - 1) As Byte
count = sr.Read(buffer, 0, count)
LNFile = 0
Do Until count = 0
LNFile = LNFile + count
client.sendDataB(buffer)
If (sr.Length - LNFile) <= GrabAmount Then 'Se cambia al tamaño de los bytes restantes de ser necesario.
count = (sr.Length - LNFile)
ReDim buffer(count - 1)
End If
count = sr.Read(buffer, 0, count)
Loop
sr.Close()
End Using
Se que le hace falta pulir muchas cosas, pero primero lo primero y es que al menos funcione....pero esta ha sido la espina en el costado, sin mencionar muchas mas cosas que he tenido que superar y ya esta es mi ultima etapa y parecia ser la mas sencilla pero me esta costando y no se si sera por el agotamiendo y la falta de sueño...
. Seguiere en ello pero si podes darme una luz estare completamente en deuda contigo...Se que esta mal pegar y copiar codigos esperando que alguien mas lo revise por que total se debe aprender y descubrir por si mismo las cosas que es donde esta realmente el merito, pero me vi en la necesidad de acudir al foro de ya no poder mas... Mil gracias y saludos