Network
1. 주요용어
A. Network?
: 서로 다른 장소에 있는 디바이스를 연결하여 통신을 할 수 있는 환경
: Lan < Wan < internet(WWW)
B. Protocol
: 통신할때 데이터를 구분하기위한 꼬리표 (통신규약 – 언어)
C. Port
: 컴퓨터의 출입구. (통신통로)
D. 패킷(packet)
: 데이터 전송의 최소 전송단위 ( 다양한크기, default = 128byte)
E. Router
: 패킷이 목적지로 잘 가도록 안내하는 안내자.
스위치(Switch) : 패킷의 방향타 역할
F. GateWay / firewall
GateWay : 내부네트웍과 외부네트웍의 연결점(관문)
Firewall : 내부자원을 보호하고, 불필요한 외부자원을 막는 보안장치
G. URI(URL)
: URL을 주로 사용.
: 네트워크상의 특정한 자원에 대한 식별자( ex :프린터,스캐너,이미지파일…)
H. OSI 7Layer
java.net
클래스 URL
모든 구현된 인터페이스:
Constructor
URL url = new URL(String url);
Method
url.getProtocol(); : 사용 protocol
url.getHost() : Server의 Address
url.getPort() : Server의 port
url.getPath() : 경로
url.openStream(); (return : InputStream)
-실습 1 : naver 이미지 가져오기-
//입력시작
InputStream is = url.openStream();
BuffredInputStream bis = new BuffredInputStream(is);
// 입력끝
//출력
FileOutputStream fos =
new FileOutputStream(“c:/naver.gif”);
byte[] b = new byte[1024];
int n =0;
while((n=bis.read(b,0,b.length)) != -1){
bos.write(b,0,n);
bos.flush();
}
java.net
클래스 InetAddress
모든 구현된 인터페이스:
직계의 기존의 서브 클래스:
static InetAddress |
|
getHostName () | |
static InetAddress [] |
getAllByName (String host) 네임 서비스에 근거해 그 IP 주소의 배열을 돌려줍니다. |
InetAddress는 생성자가 없어요~
그래서 메소드를 사용해서 만들어요~
InetAddress ia = InetAddress.getByName(); : getByName() or getAllByName()
***************************************************************************
지금까지 했던거 정리
***************************************************************************
1. URL : 네트워크상의 접속한 컴퓨터의 프로토콜, Host , port , file등의
정보를 알수 있다.
URL 의 주요 메소드
1. getProtocol()
2. getHost()
3. getPort()
4. getFile()
5. getPath()
6. openStream()
2. URLConnection
1. 기능 : 객체생성시 URL의 자원과 연결이 되어지기 때문에
: 자원의 구체적인 Content 정보를 알 수 있다.
2. 주요 메소드
i. getContentType();
ii. getContentLength()
iii. getInputStream()
iv. getOutputStream()
3. InetAddress
1. 기능 : 네트워크상의 특정 호스트에 대한 IP를 알아낼 수 있는
클래스
2. 주요 메소드:
1. getByName(String host)
2. getAllByName(String host)
3. getHostAddress()
통신 방식.
1. TCP 기반의 소켓 통신
1) 연결 지향 통신 방식
2) 신뢰적.
3)
4)
5) 사용예) : 채팅, 실시간 데이터전송, 메신저,네트웍게임
2. UDP 방식의 DatagramSocket 방식
1) 비연결 지향 통신 방식
2) 비 신뢰적
3) DatagramSocket, DatagramPacket 을 이용하여프로그래밍
4)프로그램 절차
<<Server>> <<Client>>
DatagramSocket ds -------------------------------DatagramSocket ds
DatagramPacket dp-------------------------------DatagramPacket dp..
ds.receive(dp)--------------------------------------ds.send(dp)
5) 사용예): 인터넷방송
채팅프로그램까지만….
채팅만들기
1. 서버 셋팅
1. 서버소켓만들기
ServerSocket ss = new ServerSocket(int port);
l Port잡을 때 Tip
1~1024는 안잡는 것이 좋다.
다른 protocol과 충돌날 가능성때문.
2.클라이언트의 접속
: 클라이언트가 접속해서 Socket 객체 생성
Socket s = ss.accept();
3.소켓어서 읽어들일 목적으로 InputStream생성.
InputStream is = s.getInputStream();
DataInputStream dis = new DataInputStream(is);
4. Client에서 전송된 문자열 출력
: String str = null;
while((str=dis.readUTF())!=null){
System.out.println("Client 말 : "+str);
}
2. Client Setting
Server측 Client측
ServerSocket ss
ss.accept() new Socket(ip,port)
Socket s Socket s
IO 객체를 이용하여 통신
'자바 기본 공부 > 네트워크 개발' 카테고리의 다른 글
lec01-Java I/O #4 File Reader 과 File Writer (0) | 2015.01.14 |
---|---|
lec01-Java I/O #3 File InputStream / File OutputStream (0) | 2015.01.14 |
lec01-Java I/O #2 Reader 과 Writer (0) | 2015.01.14 |
lec01-Java I/O #1 InputStream 과 OutputStream (0) | 2015.01.14 |