클라이언트가 접속시마다 포트번호가 바뀌나요?
서버입장에서 볼때, A와 연결을 이루었고 이후에 랜선을뽑고나서 접속을 끊을경우
접속이 끊긴것을 인지하지 못합니다.
따라서 A와의 연결을 유지하고 있는상태에서 B가 접속을 요청할경우 B의 접속을 거절합니다.
keep alive 기능을 사용하는 것을 추천드립니다.
keep alive 패킷이란 일정 간격으로 패킷을 전송하여 상대방의 응답 여부를 확인하는 기능입니다.
위와 같은 상황에서 랜선을 뽑을 경우 모듈은 keep alive 패킷을 전송하고 이에 대한 응답이 없으므로 timout 발생하여 TCP연결이 끊기게됩니다. 따라서 A와의 연결이 끊기고 새로운 TCP 접속에 반응 할 수 있습니다.
IP 변경이란 모듈의 IP 변경을 말씀하시는건가요?
IP 변경을 하실 경우 socket을 닫았다가 다시 열어줘야 접속이 가능합니다.
client 가 동일하더라도 모듈은 접속을 유지하고 있는상태이기 때문에 새로운 접속에 대해 응답하지 않습니다.
keep alive 기능을 사용하시면 될 것 같습니다.
다만 keep alive 를 통해 timeout이 발생하게 할 경우 랜선을 30초이상 뽑아야 가능합니다.
RCR, RTR에 따른 시간이며 값을 변경하실 수도 있습니다.