본문 바로가기

ip

자바 네트워크(Network) - UDP 예제 2 (멀티캐스트-MulticastSocket) 일단 DatagramSocket클래스의 자식 클래스를 알아보자. DatagramSocket클래스의 자식 클래스는 MutilcastSocket이다. 우선 자바API에서 MulticastSocket을 살펴보자. 가기 귀찮아서 퍼왔다. 잘 해석해서 이넘이 무엇을 하는 넘인지 살펴보자. public class MulticastSocket extends DatagramSocket The multicast datagram socket class is useful for sending and receiving IP multicast packets. A MulticastSocket is a (UDP) DatagramSocket, with additional capabilities for joining "groups" .. 더보기
자바 네트워크(Network) - TCP / IP 를 이용한 예제 2 이번에는 저번 소스를 이용해서 서버에서 요청된 클라이언트 정보를 한번 알아 보자. 우선 서버에 접속된 클라이언트의 아이피와 포트번호를 알아보자. 예제를 보면 client .getInetAddress()로 클라이언트 아이피와 getPort()로 클라이언트포트 번호를 알 수 있다. 클라이언트 포트번호는 랜덤으로 바뀐다.(참고 서버 소켓 선언시 생성자 파마리커 2222는 서버 포트 번호이다) 그리고 난후 클라이언트가 접속을 했으면 클라이언트에게 접속했다는 메세지를 전해 주기 위해서 Outputstream 객체와 DataOutputStream 객체(한글이기때문 2바이트) 사용했다. 클라이언트에서는 이를 InputStream과 DataInputStream으로 받으면 된다. 그럼 클라이언트 예제를 보자. 클라이언트.. 더보기
자바 네트워크(Network) - 소켓(Socket)동작의 원리 이전에 한것은 네트워크 프로그래밍을 사용할때 자주 사용하는 유틸성 클래스를 살펴 봤다. TCP/IP방식의 기본적인 동작 방식은 아래 그림과 같다. TCP/IP에서 서버에서는 클라이언트 요청을 받아서 데이터 처리를 하는데 우선 서버는 클라이언트 요청을 받아 들이는 소켓이 있다. 일명 서버 소켓 클라이언트에서 소켓생성해서 서버로 접속하면 이를 받는 역할을 하는 소켓이 있는데 이후 곧바로 서버내 다른 소켓으로 자신이 받은 요청을 넘긴다. 그래야 수많은 클라이언트 요청이 을 서버에서 받아 들일수 있다. 소스를 보면 소켓이 두개 생성이 되어 있다면 그건 서버용 프로그램이고 하나면 클라이언트 프로그램이라고 생각하면 된다. 정리하면 서버는 최소한 두개의 소켓이 있어야 한다. ServerSocket과 이를 할당 받을 .. 더보기
자바 네트워크(Network) - TCP / IP, UDP 에서 사용할 클래스들 네트워크 프로그래밍시 자바에서는 아래 두개를 중점으로 사용. 1. TCP /IP - ServerSocket (서버) - Socket (클라이언트) 2. UDP - 한 개의 클래스로 둘다 커버 - DatagramSocket (서버, 클라이언트) 패킷을 보낼때 DatagraPacket을 사용 사실상 네트워크는 IO의 연장선이라고 보면 된다. InetAddress, URL 두개의 유틸리티 클래스는 네트워크 프로그래밍시 유용하게 사용된다. 더보기
자바 네트워크(Network) - TCP / IP 1. IP(Internet Protocol) : 전세계 컴퓨터를 식별하기 위한 번호, 주소 - real IP : 전세계적으로 공인된 IP, 아이피 번호는 한계가 있다. 현재 추세는 부족한 아이피 주소(XXX,XXX,XXX,XXX)2^32에서 2^64으로 바뀌는 추세 * Dynamic IP : 예를 들어서 IP 3개로 10개 PC를 돌릴때 (DHCP 서버) * Static IP - virtural IP : 임의로 붙여주는 IP (사무실 네트워크 등) 2. PORT - A와 B두대의 컴퓨터에 있어서 A가 B 컴퓨터를 찾기 위해서는 ip를 활용한다. 하지만 거기까지다. IP는 상대방의 컴퓨터를 찾기위한 것이지 B에 있는 어떤 서비스를 받을때는 IP만으로는 활용 할 수 없다. 이런것을 극복하기 위해 통로 즉 p.. 더보기
자바 네트워크(Network) - 프로토콜(Protocol) - 프로토콜 (Protocol) 일종의 약정 규약, 규칙. 네트워크를 연결함에 있어서 서로 약정, 규약을 맺지 않으면 통신 할 수 없다. - 프로토콜 종류 : tcp/ip, http, ftp, udp, 스트크래프트를 할때의 IPX/SPX 등등.. - 프로그래밍을 위한 대표적인 2개의 프로토콜을 알아보자. 1. TCP / IP * 연결 지향성 : 예를 들어 두대의 컴퓨터 사이에 미리 연결을 설정하고 나서 그 다음에 데이터를 주고 받겠다는 (통신)이야기 * 어떤 하나의 작업을 처리하는 중 다른것을 할 수 없다. (대용량 데이터 처리 적합) * 보내는 데이터를 작은 단위로 쪼개서 보내는데 이를 패킷이라 부른다. 받는 부분에서는 받은 패킷을 받아서 다시 조립한다. 서로 규약, 약속이 되어 있지 않으면 처리 할 .. 더보기