Hola gente, estoy nuevamente aqui, tratando de ver si alguien sabe que hago mal.. o cual puede ser el problema..
se trata de un cliente/servidor en en cual el servidor acepta multiples conexiones. el servidor lo tengo instalado en la pc1, y los cliente en las pcs 2, 3, 4 , 5, etc..
al iniciar o ejecuta los cliente, estos envian un comando" Inicio" al servidor, en el cual mediante select case se detecta y se ejecuta una consulta en SQL, a una base de datos en access 2003. Mi problema esta aqui, cuando llega(n) al servidor los comandos "Inico" desde los clientes, para por select case, ejecuta una consulta, y deberia enviar los resultados a los cliente, y deberia identificar cual de los cliente inicio dicho comando. pero no puedo me salta un error y no encuentro forma de solucionarlo.
dejo el codigo del servidor:
Dim matriz() As String
Private Sub MDIForm_Load()
Winsock1(0).Close
Winsock1(0).LocalPort = "3737"
Winsock1(0).Listen
Winsock2(0).Connect nRemoteIp, "3738"
End Sub
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
cuenta = cuenta + 1
Load Winsock1(cuenta)
Winsock1(cuenta).Accept requestID
End Sub
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim data As String
Winsock1(Index).GetData data
matriz = Split(data, "|")
MsgBox matriz(0) & " " & matriz(1)
nRemoteIp = matriz(0)
Winsock2(0).SendData "pepsi"
End Sub
codigo de o los clientes. (obvio son los mismo en todas las pcs)
Private Sub Form_Load()
Winsock1.Connect "10.10.1.114", "3737"
Winsock2.Close
Winsock2.LocalPort = "3738"
Winsock2.Listen
End Sub
Private Sub Winsock1_Connect()
Winsock1.SendData Winsock1.LocalIP & "|" & Winsock1.LocalHostName
End Sub
Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
Winsock2.Close
Winsock2.Accept requestID
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock2.GetData data
MsgBox data
End Sub
el error es. error 40006 en tiempo de ejecucion
protocolo o estado de conexion erroneo para la transaccion o peticion solicitada.
disculpen que sea tan extenso, pesdo con el mismo problema, solo dejo el codigo para si alguien ve el error si puede me avise, sinceramente no lo veo.. es algo primitivo el codigo, lo debo hacer asi por los recursos de las computadoras, ya que son viejitas.. jeje
saludos y mil gracias de antemano..