Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

스포츠마케터의 초보 개발자 도전기

JAVA study 21 본문

develop/JAVA

JAVA study 21

teammate brothers 2024. 5. 9. 12:08

Socket 1)

client

package ex6_image;

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ImageIcon;

import javax.swing.JLabel;

public class Ex_Image {
	public static void main(String[] args) {
		
		Frame f = new Frame();
		f.setLayout(null);
		f.setBounds(500, 200, 1280, 1280);
		
		//그림을 프레임 바탕으로
		ImageIcon img = new ImageIcon("lion.jpg");
		JLabel j1 = new JLabel(img);
		j1.setBounds(0, 30, 1280, 1280);
		
		
		 
		
		f.add(j1); //배경을 제일 마지막에 add를 해야 함
		
		f.setVisible(true);
		f.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
	}//main
}

--

server

package ex1_socket;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer extends Thread{
	
	//서버 생성을 위한 클래스
	ServerSocket ss;
	
	public MyServer() {
		try {
			//서버를 생성할때, 클라이언트가 접속할 포트를 지정
			ss = new ServerSocket(5000);
			System.out.println("서버완료");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	@Override
	public void run() {
		while(true) {
			//언제 접속할지 모르는 클라이언트들에 대응하기 위해
			//무한반복 속에서 접속자를 기다린다
			
			//클라이언트 객체
			try {
				//접속자를 받아서 Socket객체에 저장
				Socket s = ss.accept();
				
				//방금 접속한 클라이언트(s)의 ip를 가지고 와보자
				String ip = s.getInetAddress().getHostAddress();
				
				System.out.println(ip + "님 다녀감");
				
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}//while
	}
	
}

--

serverMain

package ex1_socket;

public class ServerMain {
	public static void main(String[] args) {
		
		//서버 실행 및 클라이언트 접속 대기
		MyServer ms = new MyServer();
		ms.start();
		
	}//main
}

 

 

Socket 2)

client

package ex2_socket;

import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class MyClient {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력 : ");
		String msg = sc.nextLine(); //공백포함 장문 받을 수 있음
		
		if(msg != null && msg.trim().length() > 0) {
			
			Socket s = null;
			
			try {
				
				s = new Socket("192.168.0.11", 5000); //서버접속
				
				//msg를 서버에게 전달하기 위한 스트림
				PrintWriter out = new PrintWriter(s.getOutputStream());
				
				//서버에게 문자열 전달
				out.write(msg);
				
				out.close();
				s.close();
				
			} catch (Exception e) {
				// TODO: handle exception
			}
			
		}
		
	}//main
}

--

server

package ex2_socket;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer extends Thread {

	ServerSocket ss;

	public MyServer() {

		try {

			ss = new ServerSocket(5000);
			System.out.println("서버 시작!");
			
		} catch (Exception e) {
			// TODO: handle exception
		}
	}

	@Override
	public void run() {
		while(true) {
			try {
				
				//접속한 클라이언트의 정보를 받음
				Socket s = ss.accept();
				
				//접속한 클라이언트로부터 메시지를 받는다
				BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
				
				String message = reader.readLine();
				
				System.out.println(message);
				
			} catch (Exception e) {
				// TODO: handle exception
			}
			
		}//while
	}
}

--

serverMain

package ex2_socket;

public class ServerMain {
	public static void main(String[] args) {

		// 서버열기
		MyServer ms = new MyServer();
		ms.start();

	}// main

}

'develop > JAVA' 카테고리의 다른 글

JAVA study 22  (0) 2024.05.09
JAVA study 20  (0) 2024.05.09
JAVA study 19  (0) 2024.03.25
JAVA study 18  (0) 2024.03.21
JAVA study 17  (0) 2024.03.20