목록Some Memos/Java (57)
Wanna be Brilliant Full-Stack Developer
이벤트 리스너는 윈도우라는 OS안에 돌게 되어있다. 이 위에서 JVM이 동작을 하는데 여기에 JFRAM을 하나 만들었다. 우리가 리스너를 등록하게 되는데? 리스너를 만든다는 개념은? 이 OS가 사람으로 변신을 하는데!? 멀 지켜보는가 하면? 키보드라는 애를 지켜보고 있다. 이 지켜 보는것이 리스너 라는 것이다! 리스너를 등록되었기 때문에 리스너를 등록한다는것은? 리스너를 하나 만들고 그다음에 리스너가 키보드를 바라보고 있는데 키보드에서 무엇을 볼껀가? 어느키를 누르는지 바라볼것이다! 바라보기만 한다고 의미가 없다. 바라보기만 할때 이때! 이상한 메모리 공간을 하나 만드는데 이벤트 루프! 이벤트 루프가 차곡차곡 칸이 있는데! 사용자가 LEFT 버튼을 누르면 이벤트 루프에 등록이 된다. 리스너가 지켜보고 있..
서버소켓이 있고 만번 포트로 기다리고 있다. 그리고 클라이언트 소켓이 있다. 클라이언트 소켓이 연결을 요청을 하는데! 그때 필요한것이 ip와 포트라는것이 있다. 그러면 연결이 완료가 되면 서버소켓은 새로운 소켓을 만들고 그리고 새로운 소켓을 만들고나서 둘이 연결시키게 만드는 스트림을 만든다. 이전에는 클라이언트가 키보드로부터 스트림을 만들어서 키보드로부터 데이터를 입력받고 입력받고나서 그걸 바로 서버소켓쪽으로 데이터를 Write했다. 그러면 서버소켓이 그 데이터를 Read했다. 이렇게하고나서 프로그램이 바로 끝난다. 이걸 끝내지 않기 위해서는 서로 계속 메시지를 보내기 위해서는 둘다 종료가 되면 안된다. 언제까지 종료가 되면 안되는가? 내가 원할때까지 계속 켜져 있어야한다. 그걸 위해서는 for인가 Wh..
클라이언트소켓을 만들어보자! 서버 소켓은 필요없고 Socket이 필요하다. BufferedReader가 아니라 BufferedWriter가 필요하다. 서버쪽으로 글을 쓰기 때문이다. 생성자를 만들고 클라이언트 소켓 시작이라는 메시지를 주고 new ClientFile()하면 저 메시지가 뜰것이다 .저 소켓은 버퍼로부터 읽기 때문에 Input이고 클라이언트 소켓은 어떤 버퍼를 다는가? 버퍼를 다는데 쓰기 때문에 output하는 버퍼가 필요하다. 14번 라인이 실행될때 무슨일이 일어나는가? 서버소켓의 accept() 메서드가 호출 된다. 그러면서 소켓이 만들어진다. 즉! 이 두 소켓(소켓, 클라이언트 소켓)이 연결이 되는것이다. 연결이 되고 나서 BufferedWriter를 달아야한다. 쓰는 어떤 정수를 문자..
바이트 스트림이 연결이 되려면 서버 소켓이 먼저 실행이 되어야한다! 메인이 양쪽에 다 있다. 1번으로 서버소켓의 메인이 실행이 되어지고 실행이 되면 클라이언트 소켓쪽에서 두번째로 하는것이 IP주소를 통해서 연결을 하는것이다. 연결을 하면 둘이서 연결이 되어지고 양 끝 단에 버퍼를 달고 버퍼에서 메시지를 안녕이라고 보낼 수있다. 이거를 실습을 한번 해보자! 이렇게 전역변수로 선언을 하고 아직 메모리에 뜨지는 않았다. 그리고 생성자를 하나를 만든다. 근데 왜 소켓이 두개가 있는가? 소켓 통신은 이 포트를 양 끝단에 달고 하는것인데 왜 소켓이 두개가 있는가하면?! 소켓 자체가 포트 통신이다. 왜 두개가 있는가하면!? 다시한번 우리가 그려보자! 서버 소켓이 있다. 애 포트를 내가 10000번이라고 했다. 이것이..