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

+ Recent posts