c# 윈폼에서 서버 연결 확인 방법이 있을까요?

sky1027의 이미지

서버가 끊어졌는지 확인하는 방법이 여러가지가 있긴한데, 서버가 끊겼음에도 연결되어 있다고 나오더라고요..
어떤 걸 참고하는게 좋을지 모르겠어요.ㅠ

세벌의 이미지

서버가 끊어졌는데 연결되었다고 나오나요?
연결되었다고 나오는데 끊어졌는지는 어떻게 아나요?

sky1027의 이미지

인터넷에서 찾아서 해봤는데요.

socket.Connected 를 이용하면 서버가 끊어졌음에도 계속 true 를 반환하더라고요
socket.IsConnected 을 이용해도 서버가 끊어졌는지 확인이 불가능하네요...

try{
Socket socket= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
while (socket.Connected)
{
/*Do some processing*/
}
}catch ()
{}

익명 사용자의 이미지

그러니까 말이죠, 서버가 끊어졌다는 건 어떻게 안 건데요?

바꿔 말하면, 어플리케이션은 연결이 되어 있다고 하는데 연결이 끊어졌을 거라고 확신하는 이유가 뭐죠?

sky1027의 이미지

서버/클라이언트를 구성했습니다.
제가 서버를 종료시켰습니다.

클라이언트가 서버에 연결시키고, 서버 연결상태를 확인해보니 true 가 반환됩니다.
여기서 서버를 close 시키고 서버 연결상태를 확인해보니까 똑같이 true가 반환되네요..
서버가 종료된 상태인데 계속 연결되어 있다고 반환되요 ㅠ