통신하기 예제
방화벽을 오픈한 상태에서 동일 네트워크 상에 있는 2대의 PC로 진행하면 됨
[서버 측 예제 ]
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class NetTest3Server {
public static void main(String[] args) {
ServerSocket ss = null;
Socket socket = null;
try {
ss = new ServerSocket(9998);
System.out.println("서버 서비스 운영중....");
socket = ss.accept(); // 클라이언트의 요청이 오면 소켓 객체를 만들어줌
System.out.println("접속자 정보:" + socket.toString());
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String data = reader.readLine();
System.out.println("수신자료 :" + data);
reader.close();
socket.close();
ss.close();
} catch (Exception e) {
System.out.println("server err : " + e);
}
}
}
[클라이언트 측 예제 ]
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.Socket;
importjava.nio.BufferUnderflowException;
publicclassNetTest3Client {
publicstaticvoidmain(String[]args) {
try{
Socketsocket=newSocket("192.168.0.54", 9998);
// 요청 후 자료 서버로 전송
PrintWriterout=newPrintWriter(socket.getOutputStream(),true);
out.println("Hi I'm espriter"+"\n");
out.close();
socket.close();
}catch(Exceptione) {
System.out.println("client err:"+e);
}
}
}
HTML 읽어오기 예제
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.io.PrintWriter;
importjava.net.InetAddress;
importjava.net.Socket;
publicclassNetTest2 {
publicstaticvoidmain(String[]args) {
try{
InetAddressia= InetAddress.getByName("www.daum.net");
// 네트웍에서 자료를 주고받는 단위를 패킷이라고 함
// 이때 패킷 단위로 자료를 전달하게 하는 TCP/IP 프로토콜 기반의 클래스를 SOCKET이라 부른다.
Socketsocket=newSocket(ia, 80);
PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())));
out.println("GEThttp://www.daum.net");
out.flush();
// 서버에서 전송된 자료를 출력
BufferedReaderreader=newBufferedReader(newInputStreamReader(socket.getInputStream()));
while(true) {
Stringstr=reader.readLine();
if(str==null)break;
System.out.println(str);
}
reader.close();
out.close();
socket.close();
}catch(Exceptione) {
System.out.println("err :"+e);
}
}
}
IP 읽기 예제
importjava.net.InetAddress;
publicclassNetTest1 {
publicstaticvoidmain(String[]args) {
InetAddressia;
InetAddressia2[];
try{
ia= InetAddress.getByName("www.naver.com");
System.out.println(ia);
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
System.out.println("-----");
ia2= InetAddress.getAllByName("www.daum.net");
for(InetAddressa:ia2) {
System.out.println(a.getHostAddress());
System.out.println(a.getHostName());
}
System.out.println("-----");
ia= InetAddress.getLocalHost();
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
}catch(Exceptione) {
System.out.print("err: "+e);
}
}
}
'교육' 카테고리의 다른 글
빅데이터 국비교육 무료기관 알아보자 (0) | 2018.07.27 |
---|---|
html 기본예제 알아보자 (0) | 2018.07.26 |
인공지능 언어 알아보자 (0) | 2018.07.24 |
자바 람다 표현식 요약 정리 (0) | 2018.07.20 |
자바 연산자 조건문 반목 예제 알아보자 (0) | 2018.07.17 |