=================================================================
서버
package kh.java.tcp.model;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class TcpServer {
Scanner sc = new Scanner(System.in);
public void main() {
//서버소켓의 이름이 따로있다.
ServerSocket ss = null;
try {
ss=new ServerSocket(7777);//서버소켓 오픈정도가 끝
System.out.println(getTime()+"서버가준비되었습니다.포트가열렸다");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
// while(true) {
System.out.println(getTime()+"연결요청기다리는중....");
try {
Socket so = ss.accept();//얘가 실제로 연결을 기다리는 중이다.
System.out.println(getTime()+so.getInetAddress()+"로부터 접속성공");//요청들어온 IP 갖고온다.
//
//while(true) {
InputStream in = so.getInputStream();
DataInputStream dis = new DataInputStream(in);
OutputStream out = so.getOutputStream();//만들어진 소켓의 아웃풋스트림넣겠다.
DataOutputStream dos = new DataOutputStream(out);
//System.out.println("준호형으로부터 받은 메세지 : "+dis.readUTF());
dos.writeUTF("접속성공");
while(true) {
in = so.getInputStream();
dis = new DataInputStream(in);
out = so.getOutputStream();//만들어진 소켓의 아웃풋스트림넣겠다.
dos = new DataOutputStream(out);
String a=dis.readUTF();
System.out.println("상대방으로부터 받은 메세지 : "+a);
//String a=dis.readUTF();
if(a.equals("exit")) {
break;
}
System.out.print("내가 입력한거 : ");
String text=sc.nextLine();
dos.writeUTF(text);
System.out.println(getTime()+"데이터전송완료");
if(text.equals("exit")) {
break;
}
}
dos.close();
dis.close();
so.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//
}
//}
static String getTime() {//메소드 끝나고 안사라진다. static일경우에
SimpleDateFormat f = new SimpleDateFormat("[hh:mm:ss]");
return f.format(new Date());
}
}
package kh.java.tcp.run;
import kh.java.tcp.model.TcpClient;
public class ClRun {
public static void main(String[] args) {
TcpClient tc = new TcpClient();
tc.main();
}
}
'IT일반과목 > java' 카테고리의 다른 글
| 쓰레드1 (학원수업) (0) | 2018.08.10 |
|---|---|
| 네트워크 수업3 (야구게임) (과제) (0) | 2018.08.09 |
| 네트워크 수업1 (0) | 2018.08.09 |
| 네트워크 기초 (집공부) (0) | 2018.08.08 |
| 직렬화 역직렬화 (집공부) (0) | 2018.08.08 |