티스토리 뷰
TCP는 연결 지향적 프로토콜,
TCP는 데이터를 정확하고 안정적으로 전달,
TCP는 데이터를 보내기전 반드시 연결이 되어있어야함,
상대적으로 UDP에 비해 전송속도가 느릴수 있음
ServerSocket 클라이언트의 연결요청을 기다리면서 연결 수락을 담당하는 클래스
Socket 연결된 클라이언트의 통신을 담당하는 클래스
서버에 연결하려면 포트가 필요한데 이 포트를 바인딩 포트(Binding port)라고 함
ServerSocket을 생성할 때 해당 포트가 다른 프로그램에서 사용중이면 BindException 발생
ServerSocket은 연결 수락을 위해 accept() 메소드 실행해야함 연결되기 전엔 블로킹상태(thread 대기상태)
accept() 블로킹 상태일때 SeverSocket을 닫으려고 close() 메소드를 호출하면 SocketException 발생
serverSocket.close(); 포트를 언바인딩 시켜야 다른 프로그램에서 해당 포트 재사용 가능
리턴 타입 |
메소드 이름 |
용도 |
String |
getHostName() |
return Client IP |
int |
getPort() |
return Client Port |
String |
toString() |
return IP, Port to String |
서버에서 ServerSocket, Socket 생성 -> 클라이언트에서 socket생성 -> 서버에서 연결수락 accept메소드 실행
Socket 데이터 통신
클라이언트가 연결요청을 하고 서버가 연결 수락을 했다면
양쪽의 소켓 객체로부터 입력, 출력 스트림을 얻을수 있음
'Java > for Class, Project' 카테고리의 다른 글
Java Client, Server data communication example 클라이언트, 서버 데이터통신 예제(이것이 자바다) (0) | 2017.11.01 |
---|---|
Java client, server connect example 클라이언트, 서버 연결 예제 only connect (0) | 2017.11.01 |
JAVA 자바 채팅 인터페이스, 로그인(Chat interface, login only, JFrame, WindowBuilder) (0) | 2017.10.28 |
JAVA GUI 이벤트 처리 로그인 폼 (0) | 2017.10.23 |
Java Swing Frame Example 스윙 프레임 예제 (0) | 2017.10.11 |
티스토리 방명록
- Total
- Today
- Yesterday
Contact: j0n9m1n1@gmail.com