본문 바로가기

과제모음

JAVA-소켓프로그래밍(에코서버) ver1

반응형
import java.net.*;
import java.io.*;

public class Server{
public static void main(String[] args){
try{
ServerSocket server = new ServerSocket(10001);
System.out.println("Server is ready");
Socket sock = server.accept();
InetAddress inetaddr = sock.getInetAddress();
System.out.println("Client IP : " + inetaddr.getHostAddress());
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = br.readLine()) != null){
System.out.println("S> " + line);
pw.println(line);
pw.flush();
if(line.equals("list")){
Socket talk = new Socket("127.0.0.1", 10002);
OutputStream lout = talk.getOutputStream();
PrintWriter lpw = new PrintWriter(new OutputStreamWriter(lout));
lpw.println("S> I'll show you file-list");
lpw.flush();
lpw.close();
}
else if(line.equals("get")){
Socket talk = new Socket("127.0.0.1", 10002);
OutputStream lout = talk.getOutputStream();
PrintWriter lpw = new PrintWriter(new OutputStreamWriter(lout));
lpw.println("S> You wanna file download?");
lpw.flush();
lpw.close();
}
else if(line.equals("put")){
Socket talk = new Socket("127.0.0.1", 10002);
OutputStream lout = talk.getOutputStream();
PrintWriter lpw = new PrintWriter(new OutputStreamWriter(lout));
lpw.println("OK || NO");
lpw.flush();
lpw.close();
}
else{
Socket talk = new Socket("127.0.0.1", 10002);
OutputStream lout = talk.getOutputStream();
PrintWriter lpw = new PrintWriter(new OutputStreamWriter(lout));
lpw.println("Bad command");
lpw.flush();
lpw.close();
}
}
pw.close();
br.close();
sock.close();
}catch(Exception e){
System.out.println("S> " + e);
}
}
}
반응형