Título: Duda con winsock Publicado por: abdiel2475 en 20 Febrero 2011, 06:35 am Hola :p jaja bueno
mm vengo aqui preguntandoles una cosa que como puedo hacer esque miren mi idea es crear un server y que en ese server se conecten max 10 connections bueno todo eso ya lo ise :) lo qe tengo duda y quiero resolver es este un ejemplo estan 4 Pcs connectados: 1,2,3,4 <- estan conectados al server entonces 1,2,4 <- el 3º se desconecta y vuelve a entrar o entra otro nuevo (que valor agarraria? 5º o rellenaria el vacio osea que seria el 3º?) tengo esa duda y pss si incrementa en mi connectionrequest tengo esto Código: Private Sub sockMain_ConnectionRequest(Index As Integer, ByVal requestID As Long) If lblConnections.Caption = "10" Then sServerMsg = Time & " - " & "Cant accept more connections..." List1.AddItem (sServerMsg) List1.TopIndex = List1.ListCount - 1 Else sServerMsg = "Connection request id " & requestID & " from " & sockMain(Index).RemoteHostIP List1.TopIndex = List1.ListCount - 1 If Index = 0 Then List1.AddItem (sServerMsg) sRequestID = requestID intSockCnt = intSockCnt + 1 lblConnections.Caption = intSockCnt Load sockMain(intSockCnt) 'Socket(intSockCnt).LocalPort = 7575 sockMain(intSockCnt).Accept requestID List1.TopIndex = List1.ListCount - 1 End If End If End Sub bueno y quise hacer esto: Código: Private Sub sockMain_ConnectionRequest(Index As Integer, ByVal requestID As Long) On Error GoTo Erro If lblConnections.Caption = "10" Then sServerMsg = Time & " - " & "Cant accept more connections..." List1.AddItem (sServerMsg) List1.TopIndex = List1.ListCount - 1 Else sServerMsg = "Connection request id " & requestID & " from " & sockMain(Index).RemoteHostIP List1.TopIndex = List1.ListCount - 1 If Index = 0 Then List1.AddItem (sServerMsg) sRequestID = requestID intSockCnt = intSockCnt + 1 lblConnections.Caption = intSockCnt Load sockMain(intSockCnt) 'Socket(intSockCnt).LocalPort = 7575 sockMain(intSockCnt).Accept requestID List1.TopIndex = List1.ListCount - 1 End If End If 'End If Exit Sub Erro: Dim TryCnt As Integer For TryCnt = 1 To intSockCnt If sockMain(TryCnt).State = sckConnected Then Else intSockCnt = intSockCnt + 1 lblConnections.Caption = intSockCnt Load sockMain(TryCnt) 'Socket(intSockCnt).LocalPort = 7575 sockMain(TryCnt).Accept requestID MsgBox "Encontrado" & TryCnt End If Next TryCnt End Sub esque sale error ya que si estan 1,2,3,4 y el 3º se sale y vuelve a entrar qeraria tomar el valor de 4 pero ya existe haci qe sale error :p alguna idea :D? Título: Re: Duda con winsock Publicado por: BlackZeroX en 20 Febrero 2011, 07:52 am .
Usa este codigo para volver a ocupar indices que ya estan los sockets desconectados, es decir que si antes tenias 0,1,2,3,4 se deconecta el 2 en la siguiente vez con estas funciones podras volver a ocupar dicho indice sin problemas. Código
Ejemplo de uso simple: Código
CSocketMaster... Con CTL. http://infrangelux.sytes.net/fileX/?file=/BlackZeroX/Programacion/vb6/CSocketMaster.rar&dir=/BlackZeroX/Programacion/vb6& Temibles Lunas!¡. Título: Re: Duda con winsock Publicado por: abdiel2475 en 20 Febrero 2011, 08:04 am omg :P muchas gracias
lo calaree!! :D |