ServerSocket 및 Socket 통신(클라이언트가 메시지 서버에서 수신하고 클라이언트로 반환하여 출력)

2260 단어 JAVA 관련
수요: 클라이언트가 서버에 메시지를 보내고 서버가 메시지를 받고 출력을 읽은 다음에 클라이언트 클라이언트가 출력을 받는 것을 씁니다.
1. 서버 측 구축
| - 서버 기반 통신 ServerSocket
|- 서버에서 Socket 수신 클라이언트 연결 설정
|- 입출력 입력 흐름 읽기 클라이언트가 보낸 데이터 만들기
|- IO 출력을 클라이언트로 전송하기 위해 데이터 메시지 생성
2. 클라이언트 구축
|- Socket 통신을 생성하고 통신 서버의 IP 및 Port를 설정합니다.
|- 입출력 출력을 서버로 전송하는 데이터 메시지 만들기
|- 입출력 입력 흐름 읽기 서버에서 보내는 데이터 메시지 만들기
전체 절차가 이렇다.
서버 측:
package server.cotrol;

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 Server02 {
	public static void main(String[] args) {
		try {
			ServerSocket ss = new ServerSocket(8888);
			System.out.println(" ....");
			Socket s = ss.accept();
			System.out.println(" :"+s.getInetAddress().getLocalHost()+" ");
			
			BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
			// 
			String mess = br.readLine();
			System.out.println(" :"+mess);
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
			bw.write(mess+"
"); bw.flush(); } catch (IOException e) { e.printStackTrace(); } } }
클라이언트:
package client.cotrol;

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

public class Client02 {
	public static void main(String[] args) {
		try {
			Socket s = new Socket("127.0.0.1",8888);
			
			// IO
			InputStream is = s.getInputStream();
			OutputStream os = s.getOutputStream();
			
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
			// 
			bw.write(" , 
"); bw.flush(); // BufferedReader br = new BufferedReader(new InputStreamReader(is)); String mess = br.readLine(); System.out.println(" :"+mess); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }

좋은 웹페이지 즐겨찾기