본문 바로가기

Java/JSP

자바 네트워크 Socket 예제

아래의 서버측 EchoServerMain.java 파일을 실행하면, 서버가 소켓을 열고 아래와 같이 출력한다.

서버가 포트 5001로 소켓을 열었습니다

아래의 글라이언트측 EchoClientMain.java을 실행하면,

소켓을 열고 서버로 "서버 안녕하십니까 ?" 라고 메시지를 보낸다.

그러면 서버는클라이언트로 아래와 같이 메시지를 보내는 예제이다.

서버 안녕하십니까? 답변 : 고맙습니다
더 보낼 것 있습니까?


서버용 프로그램 : EchoServerMain.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class EchoServerMain {

public static void main (String args[]) throws IOException {

//서버가 포트 5001로소켓을 연다. 그러면 서로 통신을 자유롭게 할 수 있다.
ServerSocket ss = new ServerSocket (5001);
System.out.println ("서버가 포트 5001로 소켓을 열었습니다");

//무한적 반복
while (true) {
Socket socket = ss.accept();
BufferedReader br;
BufferedWriter bw;

//입력
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

//출력
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

//입력 된 것을 한줄 한줄 읽는다. 여기서는 안녕하십니까?
String temp = br.readLine();
bw.write(temp + " 답변 : 고맙습니다" + "\n");

//보낸다
bw.flush();
bw.write("더 보낼 것 있습니까?" + "\n");
bw.flush();
br.close();
bw.close();
socket.close();
}
}
}

클라이언트 프로그램 : EchoClientMain.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;

public class EchoClientMain {

public static void main (String args[]) throws IOException {

//클라이언트가 서버의 포트 5001로 소켓을 연다
Socket socket = new Socket("localhost", 5001);
BufferedWriter bw;
BufferedReader br;
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
bw.write("서버 안녕하십니까?" + "\n");
bw.flush();
System.out.println(br.readLine());
System.out.println(br.readLine());
br.close();
bw.close();
socket.close();
}
}

iOS 6 vs. iOS 5 성능 차이는? 맥월드 랩 테스트 결과
자바스크립트 처리 속도 결과 : 막대 길이가 짧을수록 좋음 선스파이더 자바스크립트 벤치마크(SunSpider JavaScript Benchmark)를 통한 자바스크립트 처리 능력... 1 자바스크립트 벤치마크에서 iOS 6를 구동했을 때 20...

11분, 짧지만 울림 큰 위안부 할머니의 육성
그러나 이장의 말은 모두 거짓이었고, 소녀는 인도네시아의 자바 섬에 있는 일본군 캠프로 끌려오게 된다. 그곳에서 소녀는 15살의 나이로 감당하기 어려운 참혹한 경험을 당하고 만다. 영화는 할머니의 육성을 바탕으로 삼아...

lt;게시판gt; 기아대책, 공정무역 커피 선물세트 출시
멕시코 치아파스와 인도네시아 자바에서 공정무역으로 수입한 커피 원두와 그라인더, 드립퍼 등으로... 중부 자바 오노소보 커피 농가에 커피 묘목 한 그루가 기증된다. 선물세트는 전국 30개 행복한 나눔 직영점, 목동...