ComoMantenerLosValoresDeSocket.Connections Iguales
Estoy trabajo con estos componentes de delphi:
Serversocket
Clientsocket
Existe un solo servidor y muchos clientes que se conectan a el, y a cada cliente que se conecta le asigno un numero de cliente que representara el socket conectado.
Por ejemplo:
0 al primer cliente que se conecta
1 al segundo cliente que se conecta
2 al tercero cliente que se conecta
3 al cuarto cliente que se conecta
Cuando envío datos a un cliente especifico, lo hago de la siguiente manera:
serversocket.Socket.Connections[numsocket].SendText('datos');
La variable numsocket indica el numero de cliente. Entonces si quiero enviar datos al cliente 0, la variable numsocket toma el valor 0, pero el problema es cuando un cliente se desconecta, por ejemplo: si cliente 0 se desconecta, y ahora quiero enviar datos al cliente 1, numsocket le asigno 1.PERO NO FUNCIONA,
porque cuando un cliente se desconecta los valores de Connections
cambian, y cuando numnsocket le asigno 1 y envío datos, en realidad estoy enviando datos al tercer cliente.
Quiero saber como puedo mantener los valores de Connections de socket iguales y que no cambien cuando los clientes se desconecten.
La solución de actualizar los valores de Numsocket, no me es rentable por que estoy trabajando con más de 100 clientes que se conectan y desconectan a cada segundo. Y el programa se torna demasiado lento.
Serversocket
Clientsocket
Existe un solo servidor y muchos clientes que se conectan a el, y a cada cliente que se conecta le asigno un numero de cliente que representara el socket conectado.
Por ejemplo:
0 al primer cliente que se conecta
1 al segundo cliente que se conecta
2 al tercero cliente que se conecta
3 al cuarto cliente que se conecta
Cuando envío datos a un cliente especifico, lo hago de la siguiente manera:
serversocket.Socket.Connections[numsocket].SendText('datos');
La variable numsocket indica el numero de cliente. Entonces si quiero enviar datos al cliente 0, la variable numsocket toma el valor 0, pero el problema es cuando un cliente se desconecta, por ejemplo: si cliente 0 se desconecta, y ahora quiero enviar datos al cliente 1, numsocket le asigno 1.PERO NO FUNCIONA,
porque cuando un cliente se desconecta los valores de Connections
cambian, y cuando numnsocket le asigno 1 y envío datos, en realidad estoy enviando datos al tercer cliente.
Quiero saber como puedo mantener los valores de Connections de socket iguales y que no cambien cuando los clientes se desconecten.
La solución de actualizar los valores de Numsocket, no me es rentable por que estoy trabajando con más de 100 clientes que se conectan y desconectan a cada segundo. Y el programa se torna demasiado lento.
2 Respuestas
Respuesta de darnaldo
1
Respuesta de gaunmanuel
1