java 61

[자바/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

[자바] nio 를 이용한 소켓 패킷부분

안녕하세요 이번에는 서버 클라에서 데이터를 보내는데 있어서 필요한 "패킷" 부분의 소스를 보여주도록 하겠습니다. 바로 소스부터 보시도록 하겠습니다. package JSieunPlatform; /* * 2017_04_11 * Copyright 2017. J.sieun all rights reserved. * 마음껏 사용하도 되나, 제이름은 적어주시길 바랍니다. * */ import java.nio.ByteBuffer;public class JPacket { private int _Size = 128; private static ByteBuffer _Buf; // 타입들 public static final short DEFAULT = 999; public static final short LOGIN = 10..

java 2017.04.27

[자바] nio 를 이용한 소켓 클라부분 (GUI 연동)

시험도 끝났겠다 다시 자바 서버에 대해서 포스팅을 해보도록 하겠습니다. :D 우선 클라 화면부터 보시겠습니다. 서버에서도 말해드렸듯이 기능은 1. 자기자신에게만 서버에게 보내고 받는 기능2. 자신이 원하는 상대에게 보낼수 있는 기능3. 서버에 접속한 모든 클라한테 보낼수 있는 기능.4. 연결 해제 그외 다른 기능이 필요하다 싶으면, 댓글로 남겨주시길 바랍니다. 쓰디쓴 피드백 감사하겠습니다. 그럼 소스를 보도록 하겠습니다. package JSieunPlatform; /* * 2017_04_11 * Copyright 2017. J.sieun all rights reserved. * 마음껏 사용하도 되나, 제이름은 적어주시길 바랍니다. * */ import java.awt.BorderLayout; import..

java 2017.04.27

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

안녕하세요 nio 를 이용한 자바 소켓 서버부분에 대해서 포스팅을 해보도록 하겠습니다. 전 아직 "학생"이기 때문에 10년? 15년? 도 더 된 기능을 가지고 하는거라 너무 질타는 하지 말아주시길 바랍니다.ㅜㅜ 나중엔 AsynchronousServerSocketChannel (비동기) 에 대해서도 공부할 계획입니다!! :D 우선 서버 부분 캡처 사진입니다. Accept IP 부분은 클라이언트가 접속한 Channel 의 정보이고,RecvIP 부분은 어떠한 클라이언트가 데이터를 주고받는지에 대해서 알려주는 부분이 되겠습니다. 그럼 소스를 보도록 하겠습니다. 소스를 보기전에 이소스는 제가 열심히 공부하면서 손수 작성하게된 소스이므로, 마음껏 사용하셔도 되지만,이름은 변경하지 말아주시길 바랍니다. (또한, 이러..

java 2017.04.16

#쉽게 푸는 알고리즘 #7 솟수 검색

안녕하세요 jsieun73 입니다. 이번시간엔 솟수 알고리즘 이 되겠습니다. 우선 저는 1~1000번째 솟수를 미리 구한다음에 거기에서 원하고자 하는 ??번째 솟수를 구하는 것이 되겠습니다.그럼 소스를 먼저 보도록 하겠습니다. package blog;import java.util.Scanner;public class blogClass { static int _Arr[] = new int[1000]; static void PrimeNum(){ boolean _Start = true; boolean _PrimeSucces = true; int _Cnt = 0; int _PrimeNum = 2; int _PrimeCheck = 2; while(_Start) { _PrimeSucces = true; for(_P..

java 2017.04.10

자바 nio 를 이용한 소켓 서버 &클라이언트 [소스단순화작업중...]

예전에 지금으로부터 2년전에 제가 어설프게 교차소켓을 한번 만들어보았습니다.(버그도 많고 먼가 맘에 안들었죠..)그래서 이참에 다시 소켓공부하면서 제대로된 서버를 만들고싶어서 만들게 되었습니다. 제가 만든 자바 서버 &클라 기능 1.원하는 상대에게 데이터를 보내는 기능.2.접속된 클라한테 전체적으로 데이터를 보내는 기능.3.자기자신에게만 보내는 기능.4.로그인할때마다 접속한 클라에게 누가 로그인했는지 알려주는 기능. 이정도면 여러 프로그램 만드는데 도움이 될꺼라 생각이듭니다. :D 현재 불필요한 소스들 없애는 중이고, (소스 단순화 & 좀더 안전하게 작업중..ex, 접속 제한, 연결해제 등등..) 급하게 필요하시다면 댓글에 이메일을 적어주시면 보내도록 하겠습니다. :D 우선 캡처된 사진 보여드리겠습니다...

java 2017.04.09

#쉽게 푸는 알고리즘 #5 친한짝 찾기 알고리즘

이번에 알려드릴 알고리즘은 2차원배열을 이용한 "친한 짝 찾기 알고리즘" 입니다. 그것이 무엇이냐하면 예를 들면 학생들이 "철수" , "영희" , "바둑이" , "홍길동" , "허균" , "이름" , "생각" , "마린" , "개강" 이렇게 9명있고, 그중 친한 애들은 ("철수","영희") , ("바둑이", "홍길동") , ("생각", "철수") , ("개강","홍길동") 이렇게 있다면, 친한 짝들로 2명씩 묶으면 ("철수","영희") | ("바둑이", "홍길동")("철수","영희") | ("생각", "철수") ("철수","영희") | ("개강","홍길동") ("바둑이", "홍길동") | ("생각", "철수") 이렇게 4쌍이 나오게 됩니다. //예외를 하자면 친한 애들이 한쌍이라면 이들은 서로 친구이기 ..

java 2017.03.26

#쉽지만#어려운 자바 기본적인 객체와 오버라이딩

기본이긴 하지만, 모를수도 있는 객체와 오버라이드 메소드에 대해서 포스팅해보도록 하겠습니다. 우선 캡처된 사진부터 보겠습니다. 약간의 소스를 수정한 후 캡처된 사진입니다. 여기서 보시게 되는건 첫번째 있는 사진은 blog.blogClass 까지는 머 패키지와 클래스 이름이라고 인식할수 있지만, 그옆으로는 이상한 문자들이 있습니다. 저 문자는 쉽게 말해서 "컴퓨터"가 알수 있는 이름값입니다. 그리고 두번째 사진은 "사용자"에게 알기 쉽게 보여주게 한 이름값입니다. 당연히 두번째사진이 좀더 사용자가 알수있을 것입니다. 그럼 소스를 공개하도록 하겠습니다. package blog;public class blogClass { private int _Value = 0; private int _Age = 0; pub..

java 2017.03.14