본문 바로가기

언어/Java

네트워크 예제 1

콘솔창 2개 띄우기 번거로워서 cmd로 실행. 클래스 실행은 패키지명.클래스 명, 항상 서버부터 실행하기
클라이언트도 동일 방법으로 실행
항상 서버부터 실행
클라이언트 실행.
A 받아옴
포트가 이미 사용중인 경우 서버 한번 더 키면 bindException 발생하니 예외처리 해주기
예외처리 결과
ctrl + c 서버 강제종료
서버 꺼진 상태에서 클라이언트 실행하면 ConnectException
Connet + ctrl + space 해서 도움받기
결과
서버 키고 잘못된 ip로 실행해보면 예외처리한걸로 감
옆자리 컴퓨터로 보내기
socket과의 연결 끊기
socket과의 연결 끊기
close 각각 안하는 이유
데이터가공해서 보내고 받기
데이터가공해서 보내고 받기 서버테스트는 항상 스스로 먼저 하고 ip로 보내기
여러줄 보내기
결과
3번 버전
서버 강제종료하고 클라이언트에서 메시지 보내면 SocketExcption

SocketException : 접속은 됐었는데 그 이후에 소켓이 망가진 것
ConnectException : 아예 접속이 안됨 
서버의 소켓 망가져서 클라이언트 소켓도 망가진것을 확인할 수 있음

 

부모자식예외라서 순서 바꿔줘야함
예외처리 결과
반대로 클라이언트 강제종료했을 때 서버 소켓 망가짐
서버 입장에선 정상종료이건 exception 들렀다오건 finally 오면 종료니까 그냥 연결이 종료되었습니다
예외처리 결과

 

'언어 > Java' 카테고리의 다른 글

서버 멀티 스레드  (0) 2023.08.16
네트워크 예제 2  (0) 2023.08.16
네트워크  (0) 2023.08.16
스레드 안전 종료  (0) 2023.08.16
스레드 동기화  (0) 2023.08.16