서버와 클라이언트로 채팅 프로그램을 만들때
특정 클라이언트에서 정전 또는 클라이언트 프로그램의 예기치 않은 다운등이 발생할때
서버에서 다른 클라이언트들에게 메시지로 알려주려면 서버소켓의 OnClientError 이벤트에서
serversocket1.Socket.Connections[index:integer].sendtext('홍길동'이 비정상 종료했다.') 와 같은 처리를해야 할것 같은데
비정상적인 오류코드를 어떻게 처리해야할지 감감합니다.
만일 홍길동이라는 특정 클라이언트가 갑작스럽게 종료 되었을때 서버소켓에 홍길동측 소켓에 대한
IP주소등 정보들이 서버소켓에 제대로 전달이 되는겁니까? 정상적인 종료라면 몰라도
갑자기 정전이 된다면 자신의 정보를 서버소켓에 전달 해주고 정전될 수는 없을텐데...
이렇듯 비정상적인 오류 처리는 어떻게 처리해야 할지 간단한 예제가 있다면 부탁드립니다..
특정 유저가 비정상적인 종료가 되었을때 접속자리스트에서 지워줘야 하거든요...
이게 잘 안되서 실제로 2명 접속되어있는 상황인데도 5명 또는 10명등 훨씬 더 많게 접속되어있는것처럼 되거든요..
이거때문에 골머리 썩고 있습니다.. 도와주세요..
ps: 어떤분은 비정상 종료인 경우 ErrorEvent의 값이 eeDisconnect가 된다고도 하시고
또 에러코드마다 작성을 해주어야 한다고 하든데 제가 직접해보니 클라이언트측에서
값작스런 정전이나 다운등으로 비정상적인 종료시에도 잘 먹질 않습니다.
근본적인 에러처리방법을 알고싶습니다.