728x90
반응형
서버와 클라이언트
서버는 서비스를 제공하는 프로그램
클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당됨
소켓프로그래밍
소켓을 이용한 통신 프로그래밍을 뜻함
소켓이란 프로세스간의 통신에 사용되는 양쪽 끝단
TCP
연결이 더 확실(안정성높음)
한쪽에서 통신을 할때 보내는 쪽과 응답하는 곳의 연결을 확인하고 연결이 잘 되었을 때만 데이터 전달
UDP
속도는 빠르나 일방적으로 보내기에 보내는 쪽에서는 받는 쪽이 데이터를 받았는지 받지 않았는지 확인할 수 없음
TCP 소켓 프로그래밍 순서(서버용)
1. 서버의 포트번호를 정함
2. 서버용 소켓 객체를 생성
3. 클라이언트쪽에서 접속요청이 오기를 기다림
4. 접속 요청이 오면 요청을 수락하고 해당 클라이언트에 대한 소켓 객체를 생성
5. 연결된 클라이언트와 입출력 스트림을 생성함
6. 보조스트림을 통해 성능 개선
7. 스트림을 통해 읽고 쓰기
8. 통신 종료
TCP 소켓 프로그래밍 순서(클라이언트용)
1. 서버의 IP주소와 서버가 정한 port번호를 매개변수로 하여 클라이언트용 소켓 객체를 생성
2. 서버와의 입출력 스트림을 오픈
3. 보조스트림을 붙여 성능을 개선
4. 스트림을 통해 읽고 쓰기
5. 통신 종료
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
04.28(GUI 작업 순서) (0) | 2020.04.28 |
---|---|
04.27(GUI) (0) | 2020.04.27 |
04.23(스레드) (0) | 2020.04.23 |
04.22(예외 처리/ IO/ Collection/ Generics) (0) | 2020.04.22 |
04.21(IO 예제로 정리하기) (0) | 2020.04.21 |