안녕하세요
C# 으로 간단한 채팅 프로그램을 만들고 있는데 풀리지 않은 의문이 있어서 고수님들께 여쭈러 왔습니다.
큰 폼이 하나 있고 폼에 버튼이 달려있어요
버튼을 누르면 새 창이 열리면서 그 창에 포함된 스크립트에서 클라이언트가 생성되면서 TcpClient를 만들어서 접속하고,
계속 tcpClient.Available 을 검사해서 tcpClient.Available > 0 이면 스트림 리더로부터 메세지를 읽어와 화면에 뿌려줍니다.
닫기 버튼을 누르면 tcpClient.Close() 해주는데요,
의아한것은
창을 닫고 나서 다시 버튼을 눌러 새 창을 생성하면
아무 내용이 없어야 하는데..................... 기존에 채팅을 했던 내역이 남아있습니다.
남아있는거 같기도 하고 빈 창에 창을 생성함과 동시에 빠르게 메세지가 올라가는거 같기도 하구요..;;
모든 프로그램을 전부 껐다키면 당연히 내용은 삭제되어 있는데..
그 버튼 눌러서 새 클라이언트를 만드는 부분에서..기존 대화 내역이 남아있습니다.
tcpClient.Available 이 큐라는데 큐에서 제대로 메시지가 안빠지는건지.. 아니면 Close 하는 부분이 잘못된건지.. 왜 그럴까요?ㅠㅠ 도저히 모르겠습니다..