1. mud study Socket

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();
  }
 }
}


class ConnectionBuilder extends Thread{
 private Socket   socket;
 private PrintWriter  output;
 private BufferedReader input;
 
 public ConnectionBuilder(Socket s) {
  try {
   socket = s;
   output = new PrintWriter(socket.getOutputStream(),true);
   input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  } catch (IOException e) {
   // TODO: handle exception
  }
  start();
 }
 
 @Override
 public void run() {
  // TODO Auto-generated method stub
  output.println("Welcome!!! HelloWorld!");
  
  String userInput = "";
  try {
   while(true){
    userInput = input.readLine();
    if(!"".equals(userInput)){
     userInput = "broadcast : "+userInput;
     output.println(userInput);
    }
    sleep(500);
   }
  } catch (IOException e) {
   // TODO: handle exception
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }
}

=================================================================
result :

Popular posts from this blog

youtube download

com.gpki.secureweb.GPKISecureWEBException: ErrCode=1507,ErrMsg=[GPKI_CMS_ProcessEnvelopedData] 해당 인증서로는 데이터를 풀 수 없습니다.

rexpert 공식필드(javascript) 점검일 주기 계산