BackEnd/JAVA
JAVA Server - Client 서버 클라이언트 연결
H_Develop
2022. 8. 9. 09:23
서버
import java.net.*;
import java.io.IOException;
public class MySer extends Thread{
ServerSocket ss;
public MySer() { // 생성자
try {
ss = new ServerSocket(3000); // 3000은 포트번호
System.out.println("Server ready...");
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
while(true) {
try {
Socket s = ss.accept(); // 접속자가 올 때까지 기다린다. 클라이언트의 요청을 받는다.
String ip = s.getInetAddress().getHostAddress(); // 접속한 클라이언트의 IP
System.out.println(ip + " 님이 왔다 감");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
MySer ms = new MySer();
ms.start();
}
} // 서버 완성
클라이언트
import java.net.*;
import java.io.IOException;
import java.net.UnknownHostException;
public class MyCli {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket s = new Socket("61.98.237.228", 3000); // IP 주소와 포트를 넣어 서버에 접속
}
}
ip주소는 내꺼로 확인. cmd에서 ipconfig 치고 ip 확인
Server
package Ser_Cli;
import java.net.*;
import java.io.*;
public class My_Server extends Thread{
ServerSocket ss;
public My_Server() {
try {
ss= new ServerSocket(3001);
System.out.println("서버 시작");
} catch (Exception e) {}
}
@Override
public void run() {
while (true) {
try {
Socket s = ss.accept(); // client를 계속 기다린다.
BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
String msg = reader.readLine();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + " : " + msg);
} catch (Exception e) {}
}
}
public static void main(String[] args) {
new My_Server().start();
}
}
Client
package Ser_Cli;
import java.util.Scanner;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.*;
public class My_Client {
public static void main(String[] args) {
System.out.println(("입력 : "));
Scanner sc = new Scanner(System.in);
String msg = sc.nextLine();
if(msg != null && msg.trim().length() >0) {
Socket s = null;
try {
s = new Socket("61.98.237.228", 3001);
PrintWriter out = new PrintWriter(s.getOutputStream());
out.write(msg);
out.flush();
if(out != null) {
out.close();
}
} catch (Exception e) {
} finally {
try {
if(s != null) {
s.close();
}
}catch (Exception e) {}
}
}
}
}