Hola veran?? Tengo una aplicacion CLIENTE / SERVIDOR.
Pasa que yo lo que quiero es que cuando envio el "SERVER" al PC-2 me envie su ip cada vez que se conecte.
PARA QUE LO ENTIENDAN MEJOR OS PONGO EL CODIGO:
--------------------SERVIDOR-------------------------------------------
Public str_contenido_archivo As String, str_nombre_archivo As String, _
str_ruta_remota As String
Dim lng_tamaño_archivo As Long
Private Sub cmd_conectar_click()
'antes de conectarme el winsock debe estar cerrado
Me.ws_cliente.Close
'me conecto a la pc remota utilizando su ip(la que ponemos en el textbox), x el puerto 8888
Me.ws_cliente.Connect Me.txt_ip, "8888"
'habilito el frame que tiene consigo las opciones de envío
Me.Frame1.Enabled = True
End Sub
Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'la declaración de a continuación se pregunta el estado del winsock, si es = 7(conectado)
'habilita las opciones(todo lo que está pegado al frame) de lo contrario las desabilita.
If Me.ws_cliente.State = 7 Then Me.Frame1.Enabled = True Else Me.Frame1.Enabled = False
'si está conectado o no; imprimimos las noticia en el label
If Me.ws_cliente.State = 7 Then Me.lbl_estado_winsock = "ESTADO.. CONECTADO A " & Me.txt_ip Else Me.lbl_estado_winsock = "ESTADO ... DESCONECTADO"
End Sub
Private Sub cmd_buscar_imagen_Click()
'cuando se abra la ventana Abrir archivo, podemos filtrar la extensión
'que se quiere mostrar, ahora ponemos *.*(cualquier archivo y extensión)
Me.cd_directorio.Filter = "todos los archivos |*.*"
'abrimos la ventana
Me.cd_directorio.ShowOpen
'abrimos el archivo seleccionado pero en código binario
Open Me.cd_directorio.FileName For Binary As #1
'almacenamos el contenido en una variable string
Me.str_contenido_archivo = Input(LOF(1), 1)
Close #1
'la propiedad 'FileTitle' me devuelve el nombre del archivo selccionadoç
'el cual almaceno en la variable '.str_nombre_archivo'
Me.str_nombre_archivo = Me.cd_directorio.FileTitle
lng_tamaño_archivo = Len(Me.str_contenido_archivo)
End Sub
Private Sub cmd_enviar_Click()
Me.str_ruta_remota = Me.txt_ruta + Me.str_nombre_archivo
'aqui mandamos los datos necesarios para poder enviar correctamente el archivo,
'anteponemos el nombre archivo para que el server sepa que hacer, acompañado de la ruta,tamaño
Me.ws_cliente.SendData "archivo|" & Me.str_ruta_remota & "|" & lng_tamaño_archivo
End Sub
Private Sub ws_cliente_DataArrival(ByVal bytesTotal As Long)
'cada vez que se reciba algo se almacena en una cadena(str_dato_recibido)
Dim str_dato_recibido As String
Me.ws_cliente.GetData str_dato_recibido
Select Case str_dato_recibido
Case Is = "msg_peticion_aceptada":
'si el server recibió nuestra petición de archivo y la acept´ó
'el envíamos el contenido del archivo leido en el momento de su apertura
Me.ws_cliente.SendData Me.str_contenido_archivo
Case Is = "msg_archivo_recibido":
'si el envío fue completo enviamos un mensaje de información
MsgBox ("Archivo envíado correctamente"), vbInformation
End Select
End Sub
-------------------------------------------------------------------------
-----------------CLIENTE-----------------------------------------------
Public str_contenido_archivo As String, str_nombre_archivo As String, _
str_ruta_remota As String
Dim lng_tamaño_archivo As Long
Private Sub cmd_conectar_click()
'antes de conectarme el winsock debe estar cerrado
Me.ws_cliente.Close
'me conecto a la pc remota utilizando su ip(la que ponemos en el textbox), x el puerto 8888
Me.ws_cliente.Connect Me.txt_ip, "8888"
'habilito el frame que tiene consigo las opciones de envío
Me.Frame1.Enabled = True
End Sub
Private Sub Frame1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'la declaración de a continuación se pregunta el estado del winsock, si es = 7(conectado)
'habilita las opciones(todo lo que está pegado al frame) de lo contrario las desabilita.
If Me.ws_cliente.State = 7 Then Me.Frame1.Enabled = True Else Me.Frame1.Enabled = False
'si está conectado o no; imprimimos las noticia en el label
If Me.ws_cliente.State = 7 Then Me.lbl_estado_winsock = "ESTADO.. CONECTADO A " & Me.txt_ip Else Me.lbl_estado_winsock = "ESTADO ... DESCONECTADO"
End Sub
Private Sub cmd_buscar_imagen_Click()
'cuando se abra la ventana Abrir archivo, podemos filtrar la extensión
'que se quiere mostrar, ahora ponemos *.*(cualquier archivo y extensión)
Me.cd_directorio.Filter = "todos los archivos |*.*"
'abrimos la ventana
Me.cd_directorio.ShowOpen
'abrimos el archivo seleccionado pero en código binario
Open Me.cd_directorio.FileName For Binary As #1
'almacenamos el contenido en una variable string
Me.str_contenido_archivo = Input(LOF(1), 1)
Close #1
'la propiedad 'FileTitle' me devuelve el nombre del archivo selccionadoç
'el cual almaceno en la variable '.str_nombre_archivo'
Me.str_nombre_archivo = Me.cd_directorio.FileTitle
lng_tamaño_archivo = Len(Me.str_contenido_archivo)
End Sub
Private Sub cmd_enviar_Click()
Me.str_ruta_remota = Me.txt_ruta + Me.str_nombre_archivo
'aqui mandamos los datos necesarios para poder enviar correctamente el archivo,
'anteponemos el nombre archivo para que el server sepa que hacer, acompañado de la ruta,tamaño
Me.ws_cliente.SendData "archivo|" & Me.str_ruta_remota & "|" & lng_tamaño_archivo
End Sub
Private Sub ws_cliente_DataArrival(ByVal bytesTotal As Long)
'cada vez que se reciba algo se almacena en una cadena(str_dato_recibido)
Dim str_dato_recibido As String
Me.ws_cliente.GetData str_dato_recibido
Select Case str_dato_recibido
Case Is = "msg_peticion_aceptada":
'si el server recibió nuestra petición de archivo y la acept´ó
'el envíamos el contenido del archivo leido en el momento de su apertura
Me.ws_cliente.SendData Me.str_contenido_archivo
Case Is = "msg_archivo_recibido":
'si el envío fue completo enviamos un mensaje de información
MsgBox ("Archivo envíado correctamente"), vbInformation
End Select
End Sub