[JAVA +a] 21.07.01 ~ 21.07.02
자바에서 import 할 때 *로 하위 클래스를 부를 수 있다.
모든 클래스를 부르는 것은 아니고 해당 java파일에서 사용되는 하위클래스들만 불러온다.
ex.
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
을
import javax.swing.*; 로 해결 가능!
오늘은 자바 swing으로 세 점수의 합, 평균을 저장해보았습니다.
소켓
socket
소켓을 사용하는 통신을 말합니다.
소켓 : 프로세스 간 통신에 사용되는 양 끝단 영역을 말합니다.
java.net 안에 소켓이 있습니다. tcp/udp를 사용하는 소켓 프로그래밍이 대표적입니다.
tcp : 전화 - 데이터를 전송하기 전에 먼저 상대편과 연결한 후 데이터를 전송합니다. 전송 되어있는 지 확인 후 실패하면 재전송합니다.
udp : 전보 - 연결하지 않고 데이터를 전송합니다. 전송 확인하지 않습니다. 데이터를 순서대로 수신한다는 보장이 없습니다.
서버 클라이언트의 1:1 통신
서버가 먼저 실행되어 클라이언트의 연결 요청을 기다립니다.
socket : 프로세스간 통신을 담당. inputStremam, OutputStream을 가지고 두 스트림을 통해 프로세스간 통신이 이뤄집니다.
하나의 포트에는 하나의 소켓이 연결됩니다. (프로토콜이 다르면 다른 포트로)
1. 서버는 서버소켓을 사용해서 서버 컴퓨터의 특정 포트에서 클라이언트 요청을 처리합니다.
2. 클라이언트는 접속할 서버의 IP주소와 포트정보로 소켓을 생성해서 서버에 연결을 요청합니다.
3. 서버 소켓은 클라이언트의 요청을 받으며 서버에 새로운 소켓을 생성해서 클라이언트와 연결합니다.
4. 클라이언트의 소켓과 서버 소켓은 1:1 통신을 합니다.