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

+ Recent posts