java 61

[java] AsynchronousServerSocketChannel 를 이용한 비동기 서버

안녕하세요. 아직 완성은 되지 않았지만, 간단한 핑퐁은 (클라이언트 1000명 및 패킷교환은 초당 10번정도) 주고 받을수 있는 서버를 소개할려고 합니다. 위 파일을 다운 받으신후 알맞은 경로에 위치 시킵니다. 그후 위 캡처 사진처럼 패키지클릭후 마우스 오른쪽 버튼 클릭 -> Build Path -> Configure Build Path 클릭합니다. 그후 위 캡처 화면에 'Add External JARs..' 버튼 클릭후 JNetwork-1.0version.jar 파일을 추가 합니다. 그러면 아래 사진처럼Referenced Libraries안에 추가 된것을 확인할수가 있습니다. 이후 사용법은 간단합니다. 우선 자바 클래스 하나를 생성합니다.그리고 'JNetServer' 를 상속 시킵니다. 이후, 오버라이..

java 2018.05.27

[java] short to byte array convert

안녕하세요 jsieun 입니다. 제목 그대로 short 형을 byte 배열로 변환해주는 코드 소개해드리도록 하겠습니다. private void setShort(short value) {byte [] byteArray = new byte[2];if(isJava){byteArray[0] = (byte) ((value >> 8 )& 0xFF);byteArray[1] = (byte) (value & 0xFF);}else{byteArray[0] = (byte) (value & 0xFF);byteArray[1] = (byte) ((value >> 8 )& 0xFF);}} isJava -> 이 변수의 의미는 자바에서 byte화 한 byteArray 인지를 판별하는 변수가 되겠습니다. java 에서 byte 한것과 c..

java 2018.05.06

[java] byte array -> String convert

안녕하세요 jsieun 입니다. 두서 없이 제목 그대로 byte array -> String 로 변환 해주는 소스 소개해드립니다. (비트 연산자를 잘 파악하면 이해하기 쉽습니다.) /** * byte [] -> String convert * * @return * @author jsieun */public String getString() {// 포지션 값보다 데이터 사이즈값이 더 작을경우 올바른 데이터가 아님.if (bufSize < position) {return "";}StringBuffer str = new StringBuffer();short strSize = byteArray[0];// 헤더 2bytes + 문자열 사이즈if (hasData(SHORT_SIZE + strSize)) {// Jav..

java 2018.05.06

[Java] byte array -> short 변환

안녕하세요 jsieun 입니다. 두서 없이 제목 그대로 byte array -> short 로 변환 해주는 소스 소개해드립니다. (비트 연산자를 잘 파악하면 이해하기 쉽습니다.)/** * byte [] -> short convert * * @return short * @author jsieun */public short getShort() {// java 이외 바이트 계산if (hasData(SHORT_SIZE)) {if (isJavaClient) {return (short) ((byteArray[0] & 0xFF 이 변수의 의미는 자바에서 byte화 한 byteArray 인지를 판별하는 변수가 되겠습니다. java 에서 byte 한것과 c/c++ c# 에서 byte 한것이 서로 달라서 그에 맞게 처리한..

java 2018.05.06

자바 큐 알고리즘 구조체방식(Java queue algorithm)

안녕하세요.지금까지 블로그 포스팅 했던걸 봤는데 자바의 내용이 많더군요..;;(주 언어는 C++인데....C++내용은 안올리고 머하는건지 참..)자바를 사용자들이 많이 사용해서 자바 내용부터 끝내고, C++ 조져야겠다고 생각하다가 이게 이렇게 되었네요ㄷㄷ;암튼 이번에도 자바내용이긴 한데, 곧 C++ 버전으로도 포스팅 하겠습니다. 서론이 길었는데, 자바에서 LinkedList 를 사용해서 큐나 스택 맵을 사용하는데, 이것들을 내식대로 내가 임의로 함수를 만들어서 사용해보는건 어떨까 생각해보다가 우선 "큐"부터 만들어 보았습니다. 우선 큐같은 경우에는 FIFO 방식입니다. Fist In First Out 으로 처음 값이 들어가고 처음값이 빠져나가는 방식인데요, 주로 쓰이는 곳은 값을 임시로 저장했다가 바로 ..

java 2017.10.06

자바/Java nio 서버 테스트 영상ㅋ_ㅋ

음흠. 제가 뭐 서버 개발자도 아니고 되고싶은 학생일 뿐이고 이것저것 만들어 보다가 내가 만든 서버 테스트 영상을 찍게 되었슴돠~ 이쁘게 봐주세요~~:D C++서버를 "내식대로" 만들어진다면, 이 꾸진 자바 서버에 스레드풀을 첨가 할까 하는데 나쁘지 않아보이는군요..아무튼 즐감 되시길 바랍니다 ^^ 근데 해보니까 어디가 문제인지 알겠더군요.. 나중에 그건 고치도록!! 하겠습니다. #스레드풀이 절실하다!!ㅋㅋㅋㅋ#초당 천개 던지면 안전성이란게 없구만...#초당 백만개 던졌을때 올바르게 처리하는 서버를 만드는 그날까지!!ㅋㅋㅋ

java 2017.07.16

[자바/JAVA] nio 를 이용한 소켓 서버 (GUI 연동) 2.0 Version 5부 (클라이언트부분)

안녕하세요 jsieun 입니다. 이번에는 드디어 마지막 클라이언트 부분이 되겠습니다. 사실 클라이언트는 좀 대충 만든 감이 없지 않아 있습니다..ㅡㅡ;;일종의 테스트용으로 만든것이기 때문이라는 핑계가 있습니다 ㅋ_ㅋ그럼 소스를 보도록 하겠습니다.package JSieunPlatform; /* * 2017_07_09 2.0Version. * Copyright 2017. J.sieun all rights reserved. * 마음껏 사용하도 되나, 제이름은 적어주시길 바랍니다. * */ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.Toolkit; import java.awt..

java 2017.07.10

[자바/JAVA] nio 를 이용한 소켓 서버 (GUI 연동) 2.0 Version 4부 (패킷부분)

안녕하세요 jsieun 입니다. 하루동안 포스팅 여러개 하는것도 은근 힘드네요.ㅜㅜ;이번에는 서버와 클라이언트 간에 패킷 송수신하게 도와주는 패킷에 대해서 포스팅을 하겠습니다.이건 그냥 사용하면 되는거라서 많이 짧습니다.package JSieunPlatform; /* * 2017_07_09 2.0Version. * Copyright 2017. J.sieun all rights reserved. * 마음껏 사용하도 되나, 제이름은 적어주시길 바랍니다. * */ import java.nio.ByteBuffer;public class JNetPacket { //================ // 변수들. //================ //정수형 데이터 private final static int INTEG..

java 2017.07.10

[자바/JAVA] nio 를 이용한 소켓 서버 (GUI 연동) 2.0 Version 3부 (서버Evt부분)

안녕하세요 jsieun 입니다. 요번에는 ServerStart.java 와 JSFrame.class 에 대해서 포스팅을 하도록 하겠습니다.즉, 서버 이벤트 처리와 GUI 에 대해서 설명하도록 하겠습니다.그럼 소스를 먼저 보도록 하겠습니다. package JSieunPlatform; /* * 2017_07_09 2.0Version. * Copyright 2017. J.sieun all rights reserved. * 마음껏 사용하도 되나, 제이름은 적어주시길 바랍니다. * */ import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; i..

java 2017.07.10