상세 컨텐츠

본문 제목

소켓 프로그래밍

개발

by 동동주1123 2013. 10. 24. 19:24

본문


클라이언트 소켓

1. 원격기계에 접속한다(데이터 송수신 준비)

2. 데이터 송수신

3. 연결 끊기

4. 포트에 바인딩


서버 소켓

5. 들어오는데이타에 귀를 기울인다(Listen)

6. 바인드된 포트를 통해 들어오는 원격 기계의 접속 요청을 받는다.



클라이언트 소켓 사용

1. Socket 생성자를 이용해서 새로운 소켓이 만들어진다.

2. 소켓은 원격 호스트에 접속 시도

3. 연결 후 로컬 호스트와 원격호스트는 각각 입력 출력 스트림을 얻어서 이것을 서로 데이타 주고 받는데 사용(이중 연결이라 동시 수행)

- 전송되는 데이타의 의미는 프로토콜(HTTP , FTP 등)에 따라 다르다. 이 두 프로토콜은 핸드셰이킹에 대한 방법을 정해 놓고 있다.

4. 전송완료시 한쪽 또는 양쪽에서 연결 종료




Socket 클래스


생성자

1. 4개의 공용 생성자 : 접속 호스트와 포트를 지정하면 사용가능

2. 4개중 두개의 생성자는 localhost 와 localhost port를 지정해야 한다 : 데이터 출발지 정보

- 여러개의 ip주소를 갖고 있는경우 특정한 네트워크 인터페이스를 선택 하고자 할때에는 로컬 호스트를 지정해 주어야 한다. , url 형식 아니라 www.ora.com 의 String 형식으로만


- 서버 작동안하면 UnknownHostException 발생

- 소켓이 열리지 않았다면 IOException 발생


연결 실패 원인

- 서버의 접속 거부

- 로컬 호스트의 인터넷 접속 문제

- 라우팅 문제 등

 


try {

Socket toOra = new Socket("www.ora.com",80);

}




참고 사이트 : http://alecture.blogspot.kr/2011/06/socket-programming.html


다중 관리 참고 : http://blog.naver.com/PostView.nhn?blogId=kiho0530&logNo=150100625509

'개발' 카테고리의 다른 글

롯데리아 도라에몽 외장 충전기 추가 이미지  (0) 2015.03.29
Primitive Type & Reference Type  (0) 2013.10.23
instanceof 연산자  (0) 2013.10.23

관련글 더보기