±Û¾´ÀÌ :±è¼ºÈñ 2000³â 1¿ù 10ÀÏ 20:52:42
In Reply to: Thread¸¦ .... posted by ±èµ¿±¤ on 2000³â 1¿ù 10ÀÏ 14:24:47:
¹Þ´Â ºÎºÐÀ» ½º·¹µå·Î °íÄ¡´Ï Àß µÇ´Âµ¥¿ä~
°è¼Ó¹Þ´Â ºÎºÐµµ Àߵǰí... °è¼Ó º¸³»´Â ºÎºÐµµ ÀߵǴµ¥¿ä..
Client¿¡¼ Agent¿¡°Ô º¸³»Áö´Â ºÎºÐ¿¡¼ ¼¹öÂÊ¿¡ °ªÀÌ ½×¿´´Ù°¡ Agent¿¡°Ô¼ ¾î¶²°ªÀÌ ¿À°Ô µÇ¸é, ±× Àü¿¡ º¸³»Á®¼ ¼¹öÂÊ¿¡ ½×¿©ÀÖ´ø µ¥ÀÌŸ°¡ Agent¿¡ ÇÑÁÙÇÑÁÙ ³ªÅ¸³ª¿ä..
±×·¯´Ï±î... ClientÂÊ¿¡¼ 5ÁÙÀ» ÇѲ¨¹ø¿¡ º¸³Â´Ù¸é...AgentÂÊ¿¡¼ 5¹øÀÇ ´äº¯À» Çؾ߸¸ ClientÂÊ¿¡¼ º¸³½ °ªÀÌ Â÷·Ê·Î ¾²¿©Áö°Åµç¿ä..
¾î¶»°Ô °íÃľßÇÒÁö...
¼Ò½º¸¦ Çѹø ºÁÁÖ¼¼¿ä...
¼¹ö ºÎºÐÀÔ´Ï´Ù...
////////////// ¿©±âºÎÅÍ ///////////////
public ChatThread(Server server, Socket socket) throws IOException{
super("Echo service Thread");
xserver = server;
xsocket = socket;
System.out.println("Ŭ¶óÀ̾ðÆ®\n" + xsocket + "\n¿¡¼ Á¢¼ÓÇÏ¿´½À´Ï´Ù.");
Input = new BufferedReader(new InputStreamReader(xsocket.getInputStream()));
System.out.println("Input : " + Input);
output = new PrintWriter(new BufferedWriter(new OutputStreamWriter(xsocket.getOutputStream())), true);
System.out.println("output : " + output);
start();
}
///// ¿©±â±îÁö´Â Ŭ¶óÀ̾ðÆ®ÇÑÅ×¼ Á¢¼Ó¿äûÀ» ¹Þ°í /////
/////// ¿©±âºÎÅÍ´Â ÀÌ ¼¹ö°¡ Agent¿¡°Ô Á¢¼ÓÀ» ¿äûÇÏ°í, ÀԷµǴ °ªÀÌ ±³È¯µÇ´Â ºÎºÐÀÔ´Ï´Ù//////
public void run(){
Socket socket2 = null;
PrintWriter output2 = null;
BufferedReader Input2 = null;
InetAddress addr2 = null;
String str;
String address;
String port;
String message;
String answer;
StringTokenizer tokenizer;
try{
while(true){
str = Input.readLine();
if(str.startsWith("0x0010C")){
str = str.substring(9);
System.out.println("str : " + str);
tokenizer = new StringTokenizer(str, "$$");
//command = tokenizer.nextToken();
address = tokenizer.nextToken();
port = tokenizer.nextToken();
message = tokenizer.nextToken();
System.out.println("message : " + message);
addr2 = InetAddress.getByName(address);
socket2 = new Socket(addr2, Integer.parseInt(port));
System.out.println("socket2 : " + socket2);
Input2 = new BufferedReader(new InputStreamReader(socket2.getInputStream()));
output2 = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket2.getOutputStream())), true);
output2.println(message);
answer = Input2.readLine();
System.out.println("answer : " +answer);
output.println(answer);
continue;
}
if(str != null){
output2.println(str);
System.out.println("Client : "+ str);
answer = Input2.readLine();
System.out.println("Agent :" + answer);
output.println(answer);
}
}
}catch(IOException e){
xserver.removeClient(this);
System.out.println("Ŭ¶óÀ̾ðÆ®\n" + xsocket + "\nÀÇ Á¢¼ÓÀÌ ²÷°å½À´Ï´Ù.");
}finally{
try{
xsocket.close();
socket2.close();
}catch(IOException e){}
}
}
}