소개글
package tetris.server;import java.awt.Container;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TetrisServer extends JFrame
{
private List clientList;
private static ServerSocket serverSocket = null;
private static Socket socket = null;
private static JTextArea textOut;
private JScrollPane textoutScrollPane;
private final int SERVERPORT = 9090;
private Container c;
private static ClientManager cm;
private Vector clientReady = new Vector();
public TetrisServer()
{
super("테트리스 서버");
this.c = getContentPane();
this.c.setLayout(null);
setSize(new Dimension(500, 400));
setVisible(true);
this.c.add(getTextOutScrollPane());
try
{
this.serverSocket = new ServerSocket(9009);
this.textOut.append("채팅 서버가 준비되었습니다.\n 클라이언트의 접속을 기다립니다. \n");
this.clientList = Collections.synchronizedList(new ArrayList()); } catch (Exception e) {
this.textOut.append("서버 준비 실패");
}
try {
while (true) {
this.socket = this.serverSocket.accept();
this.cm = new ClientManager(this.socket);
this.clientList.add(this.cm);
this.cm.start();
}
} catch (Exception e) {
this.textOut.append(e + "\n");
}
}
public static void closeTetris() {
try {
serverSocket.close();
socket.close();
cm.closeClientManager(); } catch (Exception e) {
textOut.append(e + "\n");
}
}
컴파일 실행환경
eclipse Luna압축파일 내 파일목록
TetrisServer/.settings/org.eclipse.jdt.core.prefs
TetrisServer/META-INF/MANIFEST.MF
TetrisServer/bin/tetris/server/TetrisServer$1.class
TetrisServer/bin/tetris/server/TetrisServer$ClientManager.class
TetrisServer/bin/tetris/server/TetrisServer.class
TetrisServer/src/tetris/server/TetrisServer.java
TetrisServer/.classpath
TetrisServer/.project
TetrisServer/TetrisChattingServer.jar
TetrisServer/TetrisClient.jar
TetrisServer/apple.ico
TetrisChattingServer/.settings/org.eclipse.jdt.core.prefs
TetrisChattingServer/META-INF/MANIFEST.MF
TetrisChattingServer/bin/tetris/server/TetrisChattingServer$1.class
TetrisChattingServer/bin/tetris/server/TetrisChattingServer$ClientManager.class
TetrisChattingServer/bin/tetris/server/TetrisChattingServer.class
TetrisChattingServer/src/tetris/server/TetrisChattingServer.java
TetrisChattingServer/.classpath
TetrisChattingServer/.project
TetrisChattingServer/TetrisClient.jar
TetrisChattingServer/apple.ico
실행방법.txt
TetrisClient/.settings/org.eclipse.jdt.core.prefs
TetrisClient/META-INF/MANIFEST.MF
TetrisClient/bin/tetris/client/Block.class
TetrisClient/bin/tetris/client/DrawFriend.class
TetrisClient/bin/tetris/client/DrawMy.class
TetrisClient/bin/tetris/client/Main$1.class
TetrisClient/bin/tetris/client/Main$10.class
TetrisClient/bin/tetris/client/Main$11.class
TetrisClient/bin/tetris/client/Main$2.class
TetrisClient/bin/tetris/client/Main$3.class
TetrisClient/bin/tetris/client/Main$4.class
TetrisClient/bin/tetris/client/Main$5.class
TetrisClient/bin/tetris/client/Main$6.class
TetrisClient/bin/tetris/client/Main$7.class
TetrisClient/bin/tetris/client/Main$8.class
TetrisClient/bin/tetris/client/Main$9.class
TetrisClient/bin/tetris/client/Main$Client.class
TetrisClient/bin/tetris/client/Main$TClient.class
TetrisClient/bin/tetris/client/Main.class
TetrisClient/bin/tetris/client/Title.class
TetrisClient/img/background.jpg
TetrisClient/img/bg1.JPG
TetrisClient/src/tetris/client/Block.java
TetrisClient/src/tetris/client/DrawFriend.java
TetrisClient/src/tetris/client/DrawMy.java
TetrisClient/src/tetris/client/Main.java
TetrisClient/src/tetris/client/Title.java
TetrisClient/.classpath
TetrisClient/.project
TetrisClient/apple.ico
TetrisClient/background.jpg
TetrisClient/bg1.JPG
TetrisClient/bg2.jpg
TetrisClient/title.JPG
TetrisServer/META-INF/MANIFEST.MF
TetrisServer/bin/tetris/server/TetrisServer$1.class
TetrisServer/bin/tetris/server/TetrisServer$ClientManager.class
TetrisServer/bin/tetris/server/TetrisServer.class
TetrisServer/src/tetris/server/TetrisServer.java
TetrisServer/.classpath
TetrisServer/.project
TetrisServer/TetrisChattingServer.jar
TetrisServer/TetrisClient.jar
TetrisServer/apple.ico
TetrisChattingServer/.settings/org.eclipse.jdt.core.prefs
TetrisChattingServer/META-INF/MANIFEST.MF
TetrisChattingServer/bin/tetris/server/TetrisChattingServer$1.class
TetrisChattingServer/bin/tetris/server/TetrisChattingServer$ClientManager.class
TetrisChattingServer/bin/tetris/server/TetrisChattingServer.class
TetrisChattingServer/src/tetris/server/TetrisChattingServer.java
TetrisChattingServer/.classpath
TetrisChattingServer/.project
TetrisChattingServer/TetrisClient.jar
TetrisChattingServer/apple.ico
실행방법.txt
TetrisClient/.settings/org.eclipse.jdt.core.prefs
TetrisClient/META-INF/MANIFEST.MF
TetrisClient/bin/tetris/client/Block.class
TetrisClient/bin/tetris/client/DrawFriend.class
TetrisClient/bin/tetris/client/DrawMy.class
TetrisClient/bin/tetris/client/Main$1.class
TetrisClient/bin/tetris/client/Main$10.class
TetrisClient/bin/tetris/client/Main$11.class
TetrisClient/bin/tetris/client/Main$2.class
TetrisClient/bin/tetris/client/Main$3.class
TetrisClient/bin/tetris/client/Main$4.class
TetrisClient/bin/tetris/client/Main$5.class
TetrisClient/bin/tetris/client/Main$6.class
TetrisClient/bin/tetris/client/Main$7.class
TetrisClient/bin/tetris/client/Main$8.class
TetrisClient/bin/tetris/client/Main$9.class
TetrisClient/bin/tetris/client/Main$Client.class
TetrisClient/bin/tetris/client/Main$TClient.class
TetrisClient/bin/tetris/client/Main.class
TetrisClient/bin/tetris/client/Title.class
TetrisClient/img/background.jpg
TetrisClient/img/bg1.JPG
TetrisClient/src/tetris/client/Block.java
TetrisClient/src/tetris/client/DrawFriend.java
TetrisClient/src/tetris/client/DrawMy.java
TetrisClient/src/tetris/client/Main.java
TetrisClient/src/tetris/client/Title.java
TetrisClient/.classpath
TetrisClient/.project
TetrisClient/apple.ico
TetrisClient/background.jpg
TetrisClient/bg1.JPG
TetrisClient/bg2.jpg
TetrisClient/title.JPG