Java/Java 구현 4

Java // 구현 // Client Socket // NIO Blocking

- NIO Blocking으로 구현된 클라이언트 소켓 추상 클래스- "route()" 메소드를 재정의해서 사용해야 합니다.- Singleton 객체로 구현- Queue를 이용해서 다수의 데이터를 동시에 보내도 처리할 수 있도록 구현 public abstract class MySocket { /* Field */ private static MySocket instance; public SocketChannel socketChannel; public Charset charset = Charset.forName("UTF-8"); private Queue postQueue = new LinkedList(); // 전송할 데이터를 담아두는 Queue private int bufferSize; private boo..

Java/Java 구현 2018.08.06

Java // 구현 // Client SocketChannel (in Server) // NIO NonBlocking

- NIO NonBlocking 기반 서버의 클라이언트 추상클래스- NonBlocking이라서 receive() 메소드에 스레드를 할당하지 않아도 Selector가 메소드를 실행- "route()"와 "terminate()"를 메소드 오버라이딩해서 처리 public abstract class Client { /* Field */ public SocketChannel socketChannel; public SelectionKey selectionKey; public Selector selector; public String response; private Charset charset = Charset.forName("UTF-8"); /* Constructor */ public Client(SocketCha..

Java/Java 구현 2018.08.03

Java // 구현 // Server Socket // NIO NonBlocking

- NIO NonBlocking 기반 서버- Selector가 Blocking 되어 있지 않는 "accept() 와 receive()"를 수신시 매칭해주는 중재자 역할을 함- 클라이언트의 생성과 중지는 "startClient() & stopClient()"의 메소드 오버라이딩이 필요- 싱글톤으로 전역접근가능- 제네릭으로 특정 클라이언트 처리 /* ServerOthello - singleton */ public abstract class Server { private static Server instance; /* Field */ public ExecutorService executorService; public ServerSocketChannel serverSocketChannel; public Sele..

Java/Java 구현 2018.08.03

Java FX // 구현 // GridPane // DataBinding

JAVA FXGridPane - DataBinding처리업데이트 :: 2018.07.26 JAVA FXGridPane - DataBinding처리01. GridPane Binding02. 사용01. GridPane Binding예제코드를 살펴보겠습니다.동적으로 바인딩된 GridPane을 사용하기 위해 자동 업데이트 해주는 클래스입니다.public class DynamicGrid { GridPane gridPane; Stone[][] board; int column; int row; /* 생성자 */ public DynamicGrid(GridPane gridPane, int column, int row) { this.gridPane = gridPane; this.column = column; this.ro..

Java/Java 구현 2018.07.26