java 61

Java.서버_네트워크 게임 만들때 유용한 Socket 교차 알고리즘 3부(객체 직렬화)

안녕하세요 j.sieun 입니다. 이번글에는 서버와 클라한테 데이터를 주고 받거나 임시 데이터를 저장하는 직렬화부분에 대해서 적어보도록 하겠습니다. ※프로그래밍을 "독학"으로 배워서 용어 대해 전문성이 떨어지는 점 양해바랍니다.※ 이건 눈에 보이는 부분이 아니니, 바로 소스를 보여드리겠습니다. ServerData.javaimport java.io.Serializable;import java.util.Vector; //게임에 저장이 되야 할 데이터들을 여기에 저장함 public class ServerData implements Serializable {private String message;private String userName;private int state,count,division;private..

java 2016.08.06

Java.서버_네트워크 게임 만들때 유용한 Socket 교차 알고리즘 2부(클라이언트편)

안녕하세요 j.sieun 입니다. 저번시간에 서버에 대해서 소개를 했다면, 이번시간에는 클라이언트에 대해서 적어보도록 하겠습니다. 우선 실행 화면부터 보여드리겠습니다. 그리고 소스를 보여드리겠습니다. 저번 글과 마찬가지로 소스양은 많습니다. 이점 유의 해주시길 바랍니다. ;;-Client.javaimport java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.AdjustmentEvent;import java.awt.event.AdjustmentListener;impor..

java 2016.08.04

Java.서버_네트워크 게임 만들때 유용한 Socket 교차 알고리즘 1부(서버편)

안녕하세요 J.sieun 입니다. 이번글에는 제가 직접 손코딩한 Socket 알고리즘 - 서버편 이 되겠습니다. 이 알고리즘을 만들게 된 계기가저는 현재 학생이고, 작년에 자바에 대해서 독학하다가 학교에서 배운 기본 소켓에 대해서 많은 불만을 품다가 '내가 그냥 내 식대로 만들어 볼까..?' 라는 생각을 가지고 만들게 되었습니다. 우선 실행 화면 보여드리겠습니다. 서버 부분입니다.클라이언트 부분입니다.(클라이언트는 한꺼번에 보여드립니다.)기능이 어떤건지만 보여드릴려고 최대한 간단한 형식으로 만들었습니다. 우선 주황색 네모 친 부분과 파란색 네모 친 부분을 보시면, 분명 "같은" 클라이언트 창을 2개 열었는데 서로 다른 값을 보여주고있습니다. 물론 서버에도 "Client1 에게 값을 전달한다" "Clien..

java 2016.08.03

쉽지만 어려운 #Java #자바 #성공적 11.PC와 PC로 부터 Socket연결이 안될때

안녕하세요 j.sieun 입니다. 이번 글은 자바 Socket 을 사용하다가 발생하는 오류중 하나를 설명 해보도록 하겠습니다. Socket 을 A라는 PC에서 사용합니다. 그리고 IP주소를 가져오고 나서 B라는 PC에서 IP주소를 입력하여 Socket연결을 시도를 합니다. 하지만 이때 중요한 조건이 있습니다. 서버를 개설 하는 PC의 IP주소가 유령 IP주소인가 아니면 IP주소인가에 따라서 서버 연결이 되고안되고가 있습니다. 유령 IP주소란 가정이나 와이파이 되는 지역에서는 하나의 IP주소를 가지고 여러개의 유령 IP주소를 사용합니다.예를 들면 제 IP주소가 34.xxx,xxxx 이런식인데 허브를 거치거나 공유기를 거치면 170.xxx.xxxxx || 190.xxx.xxxx 등등..이런식으로 여러개의 유..

java 2016.07.11

쉽지만 어려운 #Java #자바 #성공적 10.(GUI)Swing 화면 가운데로 나오게하기

우선 자바 Swing 을 넣는 부분에 Toolkit kit = getToolkit();Dimension dmen = kit.getScreenSize();(물론 Ctrl+Shift+O 해서 Toolkit 과 Dimension 을 import 해줍니다.) 추가하고 그 아래에setLocation((int) ((dmen.width - getSize().width) / 2), (int) ((dmen.height - getSize().height)) / 2);이렇게 하면 몇인치 모니터든 가로 세로 중간 지점부터 창이 생성됩니다. ps. 자바 swing 창 사이즈도 저런식으로 모니터 크기에 맞게 구성할수 있습니다 :D 좀더 궁금하신 사항이 있으면 댓글 또는 j.sieun73@gmail.com 메일 보내주시면 친절히 ..

java 2016.07.11

쉽지만 어려운 #Java #자바 #성공적 9. Scanner(스캐너)를 이용한 FileWriter(입력)

안녕하세요 j.sieun입니다.이번글은 스캐너(Scanner)를 사용하여 텍스트 파일에 데이터를 입력하는 것을 배워 보도록 하겠습니다. 조건 :클래스 파일안에 AddText.txt 라는 파일을 생성해 둡시다.소스:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Scanner; public class BufferedReaderWriter {public static void main(String args[]){//무조건 null값을 해줘야댐 안그러면 오류 나올수 있음.FileWri..

java 2016.07.09

쉽지만 어려운 #Java #자바 #성공적 8. Socket.io 의 Serializable(직렬화)

안녕하세요 j.sieun 입니다. 이번글에는 Socket 을 사용하면서 데이터를 임시 저장해주고 그것들을 Client 에 보내주는 객체 직렬화(Serializable) 에 대해서 적어보겠습니다. 직렬화(Serializable) 란? 자바 객체를 저장하거나 전송하기 위하여 자바 객체의 코드를 다시 복원가능한 형태의 Stream으로 직렬화 시켜주는 것을 말합니다. 제가 사용하는 프로그램중에 있는 소스중 일부를 보여드리겠습니다.public class SocketData implements Serializable { public static final int SOCKETDATA= 10; public static final int SOCKETLOGOUT= 20;public static final int SOCKE..

java 2016.06.26

쉽지만 어려운 #Java #자바 #성공적 8. Socket.io 1부(소켓) 네트워크 채팅

안녕하세요 J.sieun 입니다. 이번글은 자바 중에서 좀 까다로운 Socket 이 되겠습니다.우선 데이터를 어떻게 주고 받는지에 대해 설명해 보겠습니다. 용어 설명:-클라이언트 프로그램(Client Program) : 연결을 요청하는 통신 프로그램.-서버 프로그램(Server Program) : 연결 요청을 기다리는 통신 프로그램. 클라이언트 프로그램과 서버 프로그램의 통신 과정간단하게 저런 식으로 정보를 주고 받습니다. Java 에서는 소켓(Socket) 이라고 하는 것을 지원 합니다. -서버 소켓서버 프로그램에서만 사용되는 소켓연결 요청을 기다리다가, 연결 요청이 오면 연결을 맺고 또 다른 소켓을 생성-클라이언트 소켓클라이언트 프로그램과 서버 프로그램에서 모두 사용되는 소켓실제 데이터 전송에서 사용..

java 2016.06.20

쉽지만 어려운 #Java #자바 #성공적 7.Mysql (JDBC) 연동하기 2부

안녕하세요 j.sieun 입니다. 저번 글에 Mysql 설치 및 이클립스와 JDBC(Jaba DataBase Connetivity) 연동하는 법을 배웠습니다. 이번 시간에 배울 내용은 Mysql 에 Data를 추가하거나 가져오는 것을 배워보도록 하겠습니다. 먼저, 소스에 대해 알아보겠습니다. 조건 : DB(Database) : testTable 명 : login_info Table 추가 명령어 : create table test_info(name varchar(30), password int(10), hobby varchar(30)); 테이블 속성 : import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;imp..

java 2016.06.19

쉽지만 어려운 #Java #자바 #성공적 7.Mysql (JDBC) 연동하기 1부

안녕하세요 j.sieun 입니다. 요새 많이 바빠져서 시간이 없지만 시간을 쪼개서 포스팅 해보도록 하겠습니다. 요번에 배우실 내용은 자바와 Mysql 을 연동하는 JDBC가 되겠습니다. 우선 Mysql을 설치해야 하니 설치 방법에 대해 알려드리도록 하겠습니다. 1 .www.mysql.com 로 들어가셔서 스크롤을 쭉내리다 보면 Mysql Community Server 가 있습니다. 클릭! MySQL Community Server 5.5 를 클릭합니다. 시간이 지나면서 홈페이지 인터페이스 화면이 다르겠지만, 당황하지 않고 MySql Community Server 5.5 를 찾아서 클릭하시면 됩니다. 그후 윈도우 사양에 맞게 설치를 하면 되는데요 MSI라고 설치버전이 있고, ZIP라는 압축 추가형식이 있습니..

java 2016.06.03