Socket
java.net.Socket 클래스는 TCP 통신을 할때 사용하는 객체이다. 예를 들어 웹서버에 접속할 때 웹브라우저를 실행한 후 URL을 입력하면 웹서버에 서비스를 요청하고 응답을 받을 수 있다.
- 소켓 생성
Socket(String host, int port)
host : 접속하는 서버의 IP 또는 도메인 이름을 지정한다.
port : d접속하는 서버의 포트를 지정한다. - 스트림 생성
TCP 통신을 하는 Socket 객체는 외부와 데이터를 주고받아야 한다. 그래서 소켓 생성 후에는 데이터 입출력을 위한 스트림을 생성해야한다.
public InputStream getInpuStream()
public OutputStream getOutpuStream()
public class Test{
public static void main(String\[\] args){
try(Socket socket = new Socket("[www.hello.co.kr"](http://www.hello.co.kr"), 80);
OutputStream out = socket.getOutputStream();
InputStream in = socket.getInputStream();
){
out.write("GET / HTTP/1.0\\n\\n".getBytes());
ByteAraayOutputStream bytes = new ByteArrayOutputStream();
byte\[\] buf = new byte\[1024\];
int length = 0;
while((length = in.read(buf))!= -1){
bytes.write(buf, 0, length);
}
System.out.println(new String(bytest.toByteArray()));
}catch(Exception e){
e.printStackTrace();
}
}
}