Language/Java

패키지로 묶어서 소켓 돌리기

원2 2021. 4. 5. 14:45
728x90
반응형

Server

package Server;

import java.io.*;
import java.net.*;
import java.util.*;
import Config.Config001;

public class Server001 {
	public static void main(String args[]) {
		ServerSocket serverSocket = null;
		
		try {
			serverSocket = new ServerSocket(Config001.Port);
			System.out.println(Config001.getTime()+"서버가 준비되었습니다.");
		} catch(IOException e) { e.printStackTrace(); }

		while(true) {
			try {
				System.out.println(Config001.getTime()+"연결요청을 기다립니다.");
				Socket socket = serverSocket.accept();
				System.out.println(Config001.getTime()+ socket.getInetAddress() 
                                            + "로부터 연결요청이 들어왔습니다.");
				OutputStream out = socket.getOutputStream();
				DataOutputStream dos = new DataOutputStream(out);

				System.out.print("전송할 메시지 : ");
				Scanner aScanner = new Scanner(System.in);
				dos.writeUTF(aScanner.nextLine());
				System.out.println(Config001.getTime()+"데이터를 전송했습니다.");

				dos.close();
				socket.close();
			} catch (IOException e) { 
				e.printStackTrace(); 
			}
		}
	}


}

Client

package Client;

import java.io.*;
import java.net.*;
import Config.Config001;

public class Client001 {

	public static void main(String[] args) {
		try {
			System.out.println("서버에 연결중입니다. 서버 IP :" +  Config001.ServerIP);
			Socket socket = new Socket( Config001.ServerIP, Config001.Port);
	
			
			InputStream in = socket.getInputStream();
			DataInputStream dis = new DataInputStream(in);
			
			
			System.out.println("서버로부터 받은 메시지 : " + dis.readUTF()); 
			
			System.out.println("연결을 종료합니다.");
			
			
			dis.close();
			socket.close();
			System.out.println("연결이 종료되었습니다.");
			
		} catch (ConnectException ce) {
			ce.printStackTrace();
		} catch (IOException ie) {
			ie.printStackTrace(); 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

Config

package Config;

import java.util.Date;
import java.text.SimpleDateFormat;

public interface Config001 {
	public static final String ServerIP = "10.100.104.4";
	public static final int    Port 	= 7777;
	
	public static String getTime() {
		SimpleDateFormat f = new SimpleDateFormat("[hh:mm:ss]");
		return f.format(new Date());
	}
}

패키지는 \키대신 .를 찍어줘야 실행이된다.

bin디렉토리가서 실행해라

728x90
반응형

'Language > Java' 카테고리의 다른 글

Book Manager System Program  (0) 2021.04.06
채팅의 쓰레드화 04번  (0) 2021.04.06
전이중방식 채팅  (0) 2021.04.06
TCP Socket프로그래밍  (0) 2021.04.05
TCP UDP  (0) 2021.04.05
InetAddress 클래스  (0) 2021.04.05