728x90
*해보기
score load, save, 비교
![]() |
load부분 |
비교 Comparable 사용할려면 |
|
![]() ![]() |
비교할 기준 만들기 |
![]() |
오름차순, 내림차순 |
![]() |
비교할려면 먼저 DTO 클래스에 implement하고 오버라이드해서 기준점잡고 |
![]() |
Collections.sort()를 사용할 수 있따. |
Comparator을 사용할려면 | |
![]() ![]() |
ScoreDTO클래스에 implement를 안하고 그냥 메소드를 익명으로 만들면 된다. |
네트워크
![]() |
들어올때는 iP로 들어와서 도착지(비트)로 들어오면 port로 나눠진다. |
tcp - 전송하고 상대방이 확인했는지 내가 확인가능
udp - 상대방이 확인했는지 내가 확인 불가능
클라이언트끼리 연결하지 않고 서버소켓을 통해 연결
ip를 알아낼때 사용하는 클래스 InetAddress
https의 포트번호는 무조건 443이다. 그래서 생략이 가능하다.
이게 데이터를 받을 수 있게 길을 열어주겠다는 메소드이다.
ObjectInputStream같은 메소드다.
파일로 받아와서 한줄씩 읽는거
예) 위 사진에 밑줄친거처럼 한줄씩 읽어서 line에 보관한다.
서버에서 정보를 주고받을때 좌표인지 문자열인지 정보를 구분하기위해 프로토콜을 사용한다.(상수같이)
지금 서버와 나만 작동하는 프로그램
ProtocolClient 클래스
![]() ![]()
|
윗사진은 내 아이피 찾기 |
![]() |
|
![]() |
|
![]() 데이터 흐름. 반을 기점으로 왼쪽 기능은 client클래스에, 오른쪽 기능은 server클래스에 구현한다 |
|
![]() |
|
![]() |
|
![]() ![]() |
서버로 보내는 쪽 readLine은 엔터값을 포함하지않기 때문에 서버쪽에서 다음단계로 넘어가지 못한다. 그리고 버퍼를 지워줘야지 다음 데이터를 받아서 보낼 수 있다. |
![]() |
서버로부터 받는 쪽 |
ProtocolServer 클래스
![]() |
![]() serversocket 객체를 만든다. 서버 소켓은 클라이언트가 들어올때까지 무한대기하고 클라이언트가 들어오면 낚아채서 클라이언트와 연결할 소켓을 만든다.( accept() ) |
![]() |
|
![]() |
|
![]() |
|
![]() |
옆에서 훔쳐온다 파일? 객체를 주고받을 길을 열어줘야 하기 때문에 필요 소켓은 클라이언트, 서버 둘다 만들어야 한다. 소켓을 필드로 변경했다. |
![]() |
앞서서 엔터값을 안넣어주면 여기서 오류가 나버린다. 근데 이건 readLine이 엔터값을 인식 안해서 그런거다 다른건 엔터값 인식한다 |
![]() |
|
![]() |
728x90
'JAVA' 카테고리의 다른 글
Frame - BorderLayout(), FlowLayout(), GridLayout() (0) | 2020.10.23 |
---|---|
10/23 수업내용 (0) | 2020.10.23 |
그림판 (0) | 2020.10.20 |
10/19 수업 (0) | 2020.10.19 |
10/16 수업내용 (0) | 2020.10.16 |