전체 글 186

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

안녕하세요 jsieun 입니다. 사용법- http://jsieun73.tistory.com/140 새롭게 업데이트된 nio-서버 구조에 대해서 사진으로 쉽게 설명하자면,아래 사진이라고 보시면 되겠습니다. 뼈대라고 부르는 JNetServer.java 안에 Bind, Accept, Read, Write, Disconnect, 등등..서버에 관련된 것들이 들어있고, ServerStart.java 안에는 클라이언트로 부터 받은 데이터를 가지고 이벤트 처리하는 즉, RecvMessage 가 있습니다. 그리고 사용자 편의를 위해서 GUI 를 넣어서 1초마다 Connect , DisConect, RegMsg 의 값을 갱신해주는 JSFrame.class 이렇게 있습니다.그럼 먼저 뼈대라고 부르는 소스부터 보도록 하겠습..

java 2017.07.10

[자바/JAVA] nio 를 이용한 소켓 서버 (GUI 연동) 2.0 Version 1부 (사용법)

안녕하세요 J.sieun 입니다.최근에 C++로 내식대로 서버 한번 만들어 보려다가 짜증나서 ㅡㅡ; 기존에 자바로 만든 서버를 좀 강화나 하자는 마음으로 자바 서버를 버전업!했습니다. :D 위 사진과 같이 인터페이스가 많이 이쁘게? 변했습니다 ㅋ_ㅋ우선 기능들에 대해서 간략히 보도록 하겠습니다.1. 동시에 클라이언트가 접속했을때 성능으로 인해 (나가리?)되는 클라이언트를 위해클라이언트 수 제한 현재 1000개2. 원하는 사람에게 보내기3. 로그인한 모든 사용자에게 보내기4. 그룹단위로 보내기(현재 3명당 한그룹으로 함)5. 원활한 연결해제6. 데이터 주고받는 사이즈 1000 으로 지정7. 이상한 데이터 들어오면 그 클라이언트 연결해제(보안기능)그럼 사용법에 대해서 설명하도록 하겠습니다.*사용법은 서버가 ..

java 2017.07.10

C/C++ byte[] to string 변환(cast)

이것은 byte -> string 형변환 함수입니다.(버퍼배열-> 문자열) 예를 들면 이런식으로 한글이나 아스키코드를 byte [] 로 바꿧는데 그것을 다시 한글이나 아스키코드로 디코딩을할려고 할때 형변환을 해줘야 하는데그럴땐 이거 그대로 작성하셔서 사용하시면 됩니다. 물론, 이건 제가 만들었습니다.사용법은 간단합니다. byte로 되어있는 배열과 그것을 변환하고 싶은 string 을 선언후 저 함수를 사용하시면 되겠습니다. 참고로 Enum(열거형) 에 BUF_SIZE 와 DATA 가 있는데 그것은 byte로 변환할때 앞에 사이즈와 실제 데이터를 말하는 것으로BUF_SIZE 의 값은 '0' 이고, DATA 는 '2' 입니다. 제가 만든 함수를 사용하실려면 byte배열안에 문자사이즈 빈공간 문자 문자 문자 ..

c&c++ 2017.07.04

stl를 이용한 MultiMap 사용

흔히 맵에 대해서는 잘 알것으로 생각이 듭니다. 맵을 한마디로 정의하면 Key값을 중복안되게 데이터값들을 저장하는 곳.. 하지만, Key 값이 중복되게하고 그 Key 값에 맞는 데이터 값들을 뽑아 사용할수 있는 자료구조도 필요합니다. 그리하여 MultiMap 이라는 것이 있습니다. (C/C++뿐만아니라 자바도 있고 물론 C#도 있습니다 :D) 간단한 예제를 보도록 하겠습니다. #include #include #include #include void main() { std::multimap MultiMap; int cnt = 0; //멀티맵에 랜덤값 집어넣기 for (int i = 0; i < 10; i++) { if (i % 3 == 0) { cnt++; } MultiMap.insert(std::mult..

c&c++ 2017.07.03

about for Logo

현제 이 로고의 의미는 제가 유독 주황계열 색을 정말 좋아합니다. 그래서 주황계열과 잘 맞고 의미도 맞게 색상을 조합하였습니다.틀 : 육각형 == 딱딱함.고정된 틀J 문양 == 부드러운 느낌과 자유로운 느낌이 들도록 표현, 음표같은 느낌도 있음.전체적인 틀(느낌표) : 딱딱함과 고정된 틀안에서 딱딱하게 생각하는 것이 아닌 언제든지 자유분만 하게 나아가겠다는 의미와 생각의 전환(느낌표의 의미)을 통하여 남들과 다른 생각을 가지겠다는 의미가 되겠습니다. 색상 : 다홍색 == 열정적인청색 == 미래지향적인흰색 == 깨끗한 -나만의 로고를 만든 이유- 포토샵과 일러스트가 재밌어서 제작년부터 조금조금씩 이것저것 만져가면서 혼자 했습니다. 그러다보니 새로운것을 아는 거와 먼가 나만의 로고? 내지 나를 상징하는 것을..

about me 2017.07.02

Alan Walker - Alone & Sing Me To Sleep ( MASHUP cover by J.Fla )

안녕하세요 Jsieun 입니다. 우연히 유투브에서 커버곡들을 듣다가 음색이 괜찮은 유투버에 대해서 소개해보도록 하겠습니다. 제가 좋아 하는 노래들을 보면 음색이 다 좋은 곡들로? 이루어진 곡이 많습니다. 그럼 J.Fla 이 커버한 Alan Walker _-_ Alone & Sing Me To Sleep 곡을 듣도록 하겠습니다 다른 커버 곡들도 좋으니 한번 들어보시는것 나쁘지 않아 보입니다. :D 그럼 즐감 되시길 바랍니다~

취미 2017.07.02

[펌]C/C++ pragma대해서

출처 : http://iprinceps.egloos.com/1334766 #pragma는 define 이나 include와 같이 #으로 시작하는 전처리구문(precompiler)의 하나이다. 컴파일러에 종속적인 구문이라 컴파일러가 변경되었을 경우 제대로된 동작을 보장하지 못하므로 프로젝트 진행중에 서로 다른 컴파일러를 사용한다면 사용하지 않음이 바람직 하겠다. - 대신 대체하는 문법을 사용해야 되겠다. #pragma once 이것은 "컴파일러에게 한번만 컴파일해!" 라고 명령한다. 헤더의 중복을 막아준다. 무슨말인가 하면 a.h를 구현한 a.cpp, a.h는 독립적이다.(include가 없다.) b.h를 구현한 b.cpp, c.h, a.h순서로 include c.h를 구현한 c.cpp, a.h를 incl..

c&c++ 2017.07.01

C/C++ 나만의 charAt() 함수 만들기

안녕하세요 jsieun 입니다. 요번에 배우실것은 흔히 자바에서 charAt 라는 함수가 있는데, 예를 들면 "안녕하세요" 라는 문자열을 charAt(2) 을 하면 "하" char 형으로 얻을수가 있습니다. 대게 charAt() 라는 함수는 한단어를 따오고싶을때 사용합니다. 그럼 출력 화면을 보겠습니다. 여기서 눈여겨 봐야할것은 유니코드와 아스키 코드인데 유니코드는 쉽게 말해서 "한글"을 뜻합니다. 그리고 아스키 코드는 말그대로 "abcde123+!!" 이런 문자들을 뜻합니다. 둘이 어떤 차이점이 있냐면 아스키코드는 "1바이트" 먹는놈이고,유니코드는 "2바이트" 먹는 놈입니다. 그래서 대게 한글을 출력하고싶을땐 char* _str ="한글입니다."; 이렇게 해서 출력을 합니다. 이런식으로 되는것이고, 소..

c&c++ 2017.06.09