[Java] 2020.12.07. day_32 채팅프로그램(오류발생)
2020. 12. 7. 12:19ㆍWeb_Back-end/Java SE
◎ 채팅프로그램 만들어보기 (오류 발생할 예정)
채팅프로그램 만들어보기 (오류 발생할 예정) | |
computer A (Server) | computer B (Client) |
1. 포트를 연다 ServerSocket server = new ServerSocket( 5000 ); //5000번(임의)의 PORT가 열린다 |
- |
- | 2. 임의의 포트를 열고, 설정된 ip컴퓨터의 설정된 port로 연결을 시도 Socket client = new Socket("ip", 5000); //이때 Client의 port는 알 수 없다(임의의 port가 열림) |
3. 접속자소켓이 있다면 접속자 소켓을 받는다 server.accept(); |
|
4. 접속자에게 보내기 위한 출력스트림 연결 DataOutputStream dos = new DataOutputStream(client.getOutputStream()); |
4. 접속자에게 보내기 위한 출력스트림 연결 DataOutputStream dos = new DataOutputStream(client.getOutputStream()); |
5. 접속자가 보내오는 내용을 읽기위한 입력스트림 연결 DataInputStream dis = new DataInputStream(client.getInputStream()); |
5. 접속자가 보내오는 내용을 읽기위한 입력스트림 연결 DataInputStream dis = new DataInputStream(client.getInputStream()); |
1~5 : 데이터를 주고 받을 준비 완료 | |
6. 데이터를 스트림에 기록 String sendMsg = "안녕"; dos.writeUTF(sendMsg); |
|
7. 스트림의 내용을 목적지로 분출 dos.flush(); |
|
6~7 : 데이터를 쓰기 : packet단위로 전달된다 | |
8. 소켓에 전달된 데이터를 읽기 String revMsg = dos.reatUTF(); |
|
9. 데이터를 스트림에 기록 String sendMsg = "hello"; dos.writeUTF(sendMsg); |
|
10 스트림에 기록된 내용을 못적지로 분출 dos.flush(); |
|
11 스트림에 기록된 내용을 읽기 String revMsg = dis.readUTF(); |
--12.09. 이어서 할 예정--
'Web_Back-end > Java SE' 카테고리의 다른 글
[Java] 2020.12.11. day_35 Thread로 다중채팅 만들기, 람다식 (0) | 2020.12.11 |
---|---|
[Java] 2020.12.10. day_34 Thread의 상태변환 (0) | 2020.12.10 |
[Java] 2020.12.04. day_31 실행가능한 jar 파일 만들기 (bat, jar) (0) | 2020.12.04 |
[Java] 2020.12.04. day_31 방화벽 여는 방법 (0) | 2020.12.04 |
[Java] 2020.12.03. day_30 Network (0) | 2020.12.03 |