Posts

Showing posts with the label mud

6. mud study DriverThreadController

Image
package driver; import java.io.IOException; public class DriverThreadContorller implements Runnable{ String driverName ; ConnectionList connectionList; public DriverThreadContorller(String name, ConnectionList connectionList) { driverName = name; this.connectionList = connectionList; System.out.println("DriverThreadContorller"); } @Override public void run() { // TODO Auto-generated method stub try { while(true){ for(Connection conn : connectionList.getConnectionList()){ driverThread(driverName,conn); } } }catch(InterruptedException e){ System.out.println("InterruptedException driver name : "+driverName); e.printStackTrace(); }catch (Exception e) { // TODO: handle exception System.out.println("Excetpion driver name : "+driverName); e.printStackTrace(); } }//run private void driverThread(String driverName,Connection conn) throws IOException, InterruptedException{ String str="...

5. mud study UpdateDriver (exit, quit)

Image
package driver; public class UpdateDriver extends Thread{ private ConnectionList connectionList; public UpdateDriver(ConnectionList cl) { connectionList = cl; start(); } @Override public void run() { // TODO Auto-generated method stub while(true){ for(Connection conn : connectionList.getConnectionList()){ CustomBuffer cbff = conn.getInputBuffer(); String input = cbff.getBuff(); if(null != input && !"".equals(input)){ String[] cmd = input.split(" "); if("quit".equals(cmd[0])||"exit".equals(cmd[0])){ new ConnectionBreaker(connectionList, conn); } } } try { sleep(5); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ===========================================

4. mud study InputDriver

Image
package driver; public class InputDriver extends Thread{ private ConnectionList connectionList; public InputDriver(ConnectionList cl) { // TODO Auto-generated constructor stub connectionList = cl; start(); } @Override public void run() { // TODO Auto-generated method stub while(true){ try { for(Connection conn : connectionList.getConnectionList()){ if(conn.getInput().ready()){ String input = conn.getInput().readLine(); if(input !=null){ System.out.println("inputDriver : "+input); conn.getInputBuffer().addBuff(input); } } } } catch (Exception e) { // TODO: handle exception } try { sleep(5); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ================================================================================================================= ...

3. mud study Connection

Image
package driver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.LinkedList; import lombok.Getter; public class Connection { private Socket socket; private @Getter PrintWriter output; private @Getter BufferedReader input; private @Getter Player player; private @Getter CustomBuffer inputBuffer; private @Getter CustomBuffer outputBuffer; private @Getter boolean isConnected; public Connection(Socket s, Player p){ try { socket = s; output = new PrintWriter(socket.getOutputStream(),true); input = new BufferedReader(new InputStreamReader(socket.getInputStream())); player=p; inputBuffer = new CustomBuffer(); outputBuffer = new CustomBuffer(); isConnected = true; } catch (IOException e){ // TODO: handle exception e.printStackTrace(); } } public synchronized void send(String message){ outputBuffer....

2. mud study ANSI

Image
package driver; public class ANSI { public static final String SANE = "\u001B[0m"; public static final String BLACK = "\u001B[0;30m"; public static final String RED = "\u001B[0;31m"; public static final String GREEN = "\u001B[0;32m"; public static final String YELLOW = "\u001B[0;33m"; public static final String BLUE = "\u001B[0;34m"; public static final String MAGENTA = "\u001B[0;35m"; public static final String CYAN = "\u001B[0;36m"; public static final String WHITE = "\u001B[0;37m"; public static final String DARK_BLACK = "\u001B[1;30m"; public static final String DARK_RED = "\u001B[1;31m"; public static final String DARK_GREEN = "\u001B[1;32m"; public static final String DARK_YELLOW = "\u001B[1;33m"; public static final String DARK_BLUE = "\u001B[1;34m"; publ...

1. mud study Socket

Image
package driver; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class GMain { public GMain() { // TODO Auto-generated constructor stub new ConnectionListener(); } public static void main(String[] arge){ new GMain(); } } class ConnectionListener extends Thread{ private ServerSocket serverSocket; public ConnectionListener() { try { serverSocket = new ServerSocket(8888); start(); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } } @Override public void run() { try { while(true){ Socket socket = serverSocket.accept(); if(socket !=null){ new ConnectionBuilder(socket); } sleep(500); } } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } ...