현재 짧은 지식과 도움으로 1:1 로 소켓 연결은 되었고 값들은 둘다 잘
넘어갑니다. 문제없이 쓰고 있는데...
지금 1:N 소켓통신을 하려합니다.
1:1이야 그냥 sendtext, Receivetext 하면 다 잘 되는데 서버가 한대 있고
여러 클라이언트들이 동시에 접속해서 먼가 다른 결과치들을 원한다고 했을 때 서버는 어떤식으로 클라이언트들을 구분하죠?
예제를 보니 socket.connection[0].sendtext('aaa') 이런 식으로 보내던데
저건 지금 커넥션 배열 0 번에 ' aaa'를 보내는거죠? (맞나?)
클라이언트들이 접속한 순서에 따라 커넥션 배열을 만드는것 같았습니다.
제가 난감한 것은
클라이언트 3개 (각각 a, b, c라고 하고..) 가...
a -> c -> b 이런 순으로 서버에 접속했다고 하면
커넥션이 0 , 1, 2 이렇게 되는건가요??
그래서 a 클라이언트에 send 하려면 커넥션을 [0]으로 하고 send 하면 알아서 보내게 되는건가요?? 서버 콤포넌트에서 자동으로 그것을 처리하나요?
그렇다면... a 한테 어떤 데이터를 보내고 있는 그 동안에(완료되지 않았을 때에) c 가 데이터를 요청하면 a를 보내면서 동시에 c에게도 데이터를 보내는건가요?? 전혀 모르겠어요.. ㅡ.ㅡ
제가 말씀드린것이 다 맞다면 마지막으로 궁금한건...
a,c,b 순이라면... 그중 c 클라이언트가 접속을 종료했어요..
그럼 남은건 a, b 인데.. 커넥션이 0,1 로 다시 되는건가요.,.. 아님.. 처음 그대로 0, 2로 되는건가요?
소켓은 기본 델파이 소켓을 이용하고 있습니다.
클라이언트는 지금 1:1 로 할때와 같은 것을 써도 상관은 없을듯 한데.. 맞나요? 아님 소스를 수정해야 하는건지...
소켓으로 1:N 통신할수 있는 서버쪽 개념좀 설명해주실분...
윗부분은 맞습니다.
아래부분에 종료될때는 0,1,2 에서 1이 종료되면.
0,1 로 자동으로 정렬됩니다.
Thread 이기