190506_Day23 복습
소켓
- java.net.Socket
- 서로 다른 JVM간의 통신수단 ( 비유 : 휴대폰 )
- 스트림을 기반으로 하는 통신!
- Stream - InputStream (읽기)
- Stream - OutputStream(쓰기)
- Socket s = new Socket();
- InputStream is = s.getInputStream();
- OutputStream os = s.getOutputStream();
- os.write(); // 스트림에 쓰기 작업
- is.read(); // 스트림으로부터 읽기 작업
<서버> : JVM 192.168.0.y 엄마객체, (서비스)응답객체
<클라이언트> : JVM 192.168.0.x 아이객체, 때쟁이객체, 서비스요청객체
<클라이언트> | <서버> | |
---|---|---|
1. ServerSocket ss = new ServerSocket(3000); // ip .y PC에서 소켓서비스를 준비하겠음! , port ( 0 ~ 65535 ) | ||
2. ss.accept(); // 클라이언트가 접속하길 대기( 블로킹상태 ) | ||
3. Socket s = new Socket( "192.168.0.y", 3000 ): //네트워크상에서 서비스PC찾기, 서비스종류(포트번호) | 3-1 Socket s = ss.accept(); //접속한 클라이언트의 소켓 정보 리턴 | |
=>접속요청! | ||
4. BufferedReader in = BufferedReader(new InputStreamReader(s.getInputStream)); | 4. BufferedReader in; | |
=> in : 서버가 전달한 메시지 읽기 | => in : 클라이언트가 전달한 메시지 읽기 | |
OutputStream out = s.getOutputStream(); | OutputStream out; | |
=> out : 서버에게 메시지 쓰기 | => out : 클라이언트에 메시지 쓰기 | |
공통 : 5. 쓰기, 6 : 읽기, 7 : 쓰기, 8 : 읽기 | ||
tf값을 [스트림에 쓰기] 5. write -------------------------> | 6. String str = readLine(); | |
8. String str = readLine() ; <-------------------------- | 7. Write("hello\n".getBytes()); | |
ta.append(str + "\n") | ||
대화명 값을 [스트림에 쓰기] 9.write -------------------------> 길동이 | 10.String str = readLine() // 길동이 | |
String str = readLine(); <-------------------------- | 11. Write("길동이 \n".getBytes) | |
ta.append(str + "\n") |
- 이건 1:1 방식이고 여러명 하려면 Vector사용 , 위의 표 수정 필요
'클라우드 기반 웹 개발자 과정 공부 > JAVA' 카테고리의 다른 글
190520_Day28 정렬2 (0) | 2019.05.21 |
---|---|
190520_Day28 정렬 (0) | 2019.05.20 |
190509_Day22 소켓 (0) | 2019.05.09 |
190508_Day21 복습, java.net (0) | 2019.05.08 |
190507 복습, 스레드, 수정 필요 (0) | 2019.05.07 |