목록 JAVA (26)
이롭게 현명하게
목차 1. ServerSocket 객체 생성 2. accept() 메소드 호출 3. 소켓으로부터 스트림 객체를 얻는다. 4. 상호 대화 단계 5. 종료 날짜 서버 날짜 클라이언트 실행방법 [1. ServerSocket 객체 생성] ServerSocket server = new ServerSocket(portNumber,queueLength); ServerSocket 생성자를 호출하면 생성자의 매개변수에는 portNumber 와 queueLength를 가진 소켓을 생성한다. queueLength : 서버에 연결되기를 기다리는 클라이언트의 최대 개수 portNumber : 포트번호로 클라이언트가 서버 컴퓨터에서 서버 애플리케이션을 찾기 위해 필요. 각 클라이언트는 이 포트번호를사용하여 서버에 연결을 요청한다..
목차 서버와 클라이언트 Socket과 ServerSocket 클래스 [서버와 클라이언트] 클라이언트와 서버가 연결되어있고 소켓을 통해 서로 데이터를 주고받고있다. 만약 여기서 중간에 다른 클라이언트가 이 서버에 접속을 한다면 두번째 클라이언트는 서버에 접속 할 수 없다. 서버의 소켓을 이미 첫번째 클라이언트가 독점하여 사용하고 있기 때문이다. 하나의 소켓에 동시에 2개의 컴퓨터가 연결 된다면 데이터가 섞이기 때문에 동시에 연결될 수는 없다. 두번째 클라이언트가 서버를 사용하기 위해서는 첫번째 클라이언트가 소켓을 통해 서버 사용을 끝날때 까지 기다려야한다. 하지만 서버는 동시에 여러개의 클라이언트를 상대해야하기 때문에 다른 방법이 필요하다. 서버는 연결 요청만을 받는 소켓을 따로 가지고있다. 모든 클라이언..
목차 URLConnection HttpURLConnection [URLConnection] 네트워크에서 데이터를 읽는 방법도 파일에서 읽는 방법과 비슷하다. 스트림을 네트워크에 연결하여 데이터를 읽는다. 자바에서 네트워크 패키지는 java.net이다. 많은 클래스 중에서 java.net.URL은 자바 프로그램과 인터넷상의 원격 컴퓨터를 연결하는 기능을 한다. 원격 컴퓨터가 자원에 접근하는 것에 허가하였다는 전제하에 가능하다. URL 클래스에서 원격 컴퓨터에 접근하려면 URL 객체를 생성하여, 생성자 호출을 통해 웹 사이트의 주소를 전달한다. 만약 URL 생성자에서 URL을 잘못 지정되었을 경우에 MalformedURLException 예외를 발생시킨다. try{ URL testURL = new URL("..
목차 프로토콜(Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protocol) 포트(Port) 소켓(Socket) 소켓 예제 [프로토콜(Protocol)] 한국어를 사용할 수 있는 사람과 스페인어를 사용할 수 있는 사람이 있다. 이 두 사람이 대화를 하기 위해서는 서로 알고 있는 동일한 언어를 사용할 때만 의사소통이 가능하다. 컴퓨터도 동일하다. 컴퓨터들끼리 데이터를 주고받기 위해서는 어떠한 규칙이 필요하다. 이것을 프로토콜(Protocol)이라고 한다. 프로토콜은 컴퓨터들 간에 상호통신을 할 때 데이터를 원활하고 신뢰성 있게 주고받기 위해 필요한 약속을 규정하는 것이다. 프로토콜에는 정보의 교환 형식과 송수신 방법 등을 규정하는 규칙이 ..
목차 네트워크(Network)란? IP주소 호스트 이름 URL 호스트이름 IP주소 변환 프로그램 [네트워크(Network)란?] 네트워크란 지리적으로 떨어져있는 장치간에 정보를 교환할 수 있도록 이들 장치를 상호 접속하기 위해 사용되는 통신기기와 장치를 의미한다. 네트워크는 크게 서버와 클라이언트가 존재한다. - 서버(Server) : 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터로 여러 사용자에게 서비스를 제공한다. - 클라이언트(Client) : 서비스를 요청하여 사용하는 컴퓨터로 집, 회사에서 인터넷에 접속하는 것을 말한다. 클라이언트와 서버는 미리 정의된 프로토콜을 이용하여 서로 통신한다. [IP 주소] A가 B에게 전화를 할려고 한다. B에게 전화를 걸기 위해서 A는 B의 연락처를 알아야한다...
UDP 통신을 사용하여 정해진 상대와 문자를 주고 받으며 대화를 할 수 있다. 이때 송신용 포트번호와 수신용 포트 번호가 고정되어있다. 서버 프로그램은 데이터그램 소켓을 이용하여 클라이언트 프로그램이 보낸 데이터 그램 패킷을 계속 수신한다. 패킷을 보낸 클라이언트의 인터넷 주소와 포트 번호는 패킷에서 얻을 수 있다. 다음으로 DatagramSocket 객체를 생성한다. 포트번호를 인수로 주지 않으면 비어있는 포트를 찾아 DatagramSocket객체를 만든다. 서버로 요청패킷을 만들어 전송하는 부분으로 명령어 인수로 받은 호스트 이름을 InetAddress 클래스를 이용하여 호스트 이름에 대응되는 인터넷 주소를 구한다. final int myPort = 9102; InetAddress address = ..