Autor Tema: Problemas con winsock  (Leído 4878 veces)

0 Usuarios y 1 Visitante están viendo este tema.

fernandos85al@hotmail.com

  • Kilobyte
  • **
  • Mensajes: 71
  • Reputación: +3/-3
    • Ver Perfil
Problemas con winsock
« en: Diciembre 09, 2010, 03:44:36 pm »
Hola gente, nuevamente consultando una gran duda..el trema es el siguiente... tengo varias PCS CONECTADAS EN RED, DESARROLLE UN PROGRAMITA QUE MANEJA BASE DE DATOS DE ACCESS PARA CARGAR INFORMACION.. EN LA PC Nº 1 INSTALE EL SERVIDOR, EL CUAL PUEDE CARGAR INFORMACION EN LA BASE DE DATOS, Y EN LA PC Nº2, Nº3, Nº4, Nº5, ETC ESTA INSTALADO UN CLIENTE,, EL CUAL DEBERIA PERMITIR CARGAR EN LA BASE DE DATOS DEL PC Nº1  LA INFORMACION.. LO QUE QUIERO ES QUE VARIAS COMPUITADORAS SE PUEDA CARGAR AL MISMO TIEMPO.. TENDRIA QUE HACER CONEXIONES MULTIPLES??? CON EL CONTROL WINSOCK?? 
OTRA CONSULTA...

EN EL SERVIDOR PONGO ESTO:

Código: (vb) [Seleccionar]
pRIVATE SUB Form1_Load()
Winsock1.close
Winsock1.localport="5656"  ' o el peurto que sea excepto 8888
winsock1.listen
end sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
WINSOCK1.CLOSE
WINSOCK1.ACCEPT REQUESTID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Datos as string

winsock1.getdata datos

msgbox datos ' para ver lo que llega del cliente

End Sub


en los cliente:

Private sub Form1_Load()
Winsock1.Connect "xxxx", "yyy"  ' IpRemota='xxx"; PuertoRemoto="yyy"
End Sub
Private Sub Command1_Click()
Winsock1.senddata "Esto es un ejemplo"
End sub

El problema es que a veces me funciona bien, potras veces me da este error

Error '40006' en tiempo de ejecucion

Protocolo o estado de conexion errorneo para la transaccion o peticion solicitada..



que hago mal?? o donde hay error?? mire los puertos, IPS, TODO BIEN...
TANTTO EN EL CLIENTE CONMO EN EL SERVIDOR SON LOS MISMOS..


CREO QUE DEBE SER QUE ESTOY EXPERIMENTANDO PROBLEMAS CON EL SERVICIO DE INTERNET, SE CAE EL SERVICIO DE A RATOS A VECES, PERO AUN CON CONEXION EL PROBLEMA PERSISTE..



SI ALGUUIEN ME PUEDE AYUDAR LO AGGRADECERIA DE ANTEMANO.. DISCULPEN QUE SEA TAN EXTENSO


MIL GRACIAS GENTE!!
« última modificación: Diciembre 09, 2010, 09:35:44 pm por xkiz »

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Problemas con winsock
« Respuesta #1 en: Diciembre 09, 2010, 07:30:20 pm »
Fernando Utiliza las etiquetas de codigo [ code ] [ / code ] asi se hace mas fácil la lectura

en cuanto a tu problema hay un par de formas para encarar la situación
una es ante de enviar un dato comprobar si estas conectado


Código: [Seleccionar]
Private Sub Command1_Click()
    If Winsock1.State = sckConnected Then
        Winsock1.SendData "Esto es un ejemplo"
    Else
        MsgBox "No Conecto"
    End If
End Sub

otra es utilizando los eventos para saber cuando conecto o si hubo un error.
Código: [Seleccionar]
Private Sub Winsock1_Connect()
    MsgBox "Conectado"
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox Description, vbCritical, "Error: " & Number
End Sub

de todas formas ese error no deberia existir, quizás sea problema de la red que no esta estable.

Saludos.


DarkStreaM

  • Bytes
  • *
  • Mensajes: 22
  • Reputación: +1/-4
  • Los Sentimientos son la fuente de todos los miedos
    • Ver Perfil
Re:Problemas con winsock
« Respuesta #2 en: Diciembre 11, 2010, 02:11:28 pm »
Hola!
Apartir de esto (http://www.mediafire.com/?fxyo8od59cv6pfe) te puedo recomentar de que al control Winsock, lo utilices con Indices

Como ejemplo :
ws(0),ws(1),ws(2).. xd

Revisa el source de arriba y lo comprenderas

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Problemas con winsock
« Respuesta #3 en: Diciembre 11, 2010, 04:25:48 pm »
Me rompiste el coco.
1.- Porque hacerlo con winsock si tienes PCs conectadas por red (red local imagino)??? es pura curiosidad, nunca he necesitado hacer eso cuando de base de datos se trata.
2.- La conexion debiera ser por ADO y es bastante transparente, en algunos clientes que tengo tienen hasta 7 PCs todas en red local y trabajando a la vez contra una BD de Access, sin mayor problema que la propia base de datos pueda brindar, ya que Access no gestiona un BeginTranss, CommitTrans y Rollback lo que si hace un servidor propiamente dicho (SQLServer, Oraclar, Firebird, etc).
3.- hay una confusion en tu enunciado, dices:
"EN LA PC Nº 1 INSTALE EL SERVIDOR, EL CUAL PUEDE CARGAR INFORMACION EN LA BASE DE DATOS..."
Me imagino que te refieres a Insertar datos en la base de datos, ok
", Y EN LA PC Nº2, Nº3, Nº4, Nº5, ETC ESTA INSTALADO UN CLIENTE,, EL CUAL DEBERIA PERMITIR CARGAR EN LA BASE DE DATOS DEL PC Nº1  LA INFORMACION" (Cuidado de decir una costra porosa)
Estas PCs estan haciendo lo mismo que la PC1... ¿cual es la diferencia?, dado que usas la misma palabra: "Cargar" me genera confusión. Imagino que las PCs 2, 3, 4 y 5 LEEN de la BD que esta instalada en la PC1. Sin embargo es posible también que las 5 PCs inserten, actualicen y lean. Pero imagino que por "orden" tu aplicación cliente no permite inserciones, no lo se.

Me encuentras en YAcosta.com

wolf_kof

  • Visitante
Re:Problemas con winsock
« Respuesta #4 en: Diciembre 11, 2010, 06:14:42 pm »
Este tema va en Bases de Datos......... bueno aqui te dejo un pequeño aporte que prepare para ti con access, estudialo esta bien comentado.

http://www.mediafire.com/?5xbsdlnfkpc13qp

fernandos85al@hotmail.com

  • Kilobyte
  • **
  • Mensajes: 71
  • Reputación: +3/-3
    • Ver Perfil
Re:Problemas con winsock
« Respuesta #5 en: Diciembre 15, 2010, 03:22:01 pm »
Hola si, fue una confusion.. lo que se hace desde las pc  Nº 2, 3, 4, 5, 6, ETC, ES "ENVIAR DATOS" POR MEDIO DE WINSOCK AL PC Nº1 DONDE ESTE LOS RECIBE, Y POR MEDIO DE SQL AGREGO, MODIFICO Y ELIMINO INFORMACION; SIEMPRE Y CUANDO DESDE LA PC Nº1 ESTEN PERMITIDAS ESTAS ACCIONES. (Desde aqui se restrige lo que en cada cliente instalado en el resto de las pcs se puede hacer).

Al mismo tiempo la PC Nº 1 SERVIDOR, TAMBIEN PUEDE "INGRESAR DATOS, MODIFICAR Y ELIMINAR". LE AGREGUE LA OPCION DE QUE CADA USUARIO QUE INGRESE A SERVIDOR O AL LOS CLIENTES, PUEDEN LOGEARSE COMO Administradores, (para permitir realizar cosas que como usuario invitado NO SE PUEDEN HACER)



DESDE YA MIL GRACIAS POR LA AYUDA, DE TODOS.. EN UNOS DIAS DEJO EL PROGRAMITA, PARA QUE LO VEAN, LO MODIFIQUEN A SU GUSTO.. Y OTROS QUE TENGO..



SALUDOS