'자바 > 채팅방' 카테고리의 다른 글
자바로그인UI가 추가된 소스 (0) | 2010.10.27 |
---|---|
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
자바로그인UI가 추가된 소스 (0) | 2010.10.27 |
---|---|
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
자바 채팅 조금 더 업그레이드 된 버전 (0) | 2010.10.28 |
---|---|
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
자바 채팅 조금 더 업그레이드 된 버전 (0) | 2010.10.28 |
---|---|
자바로그인UI가 추가된 소스 (0) | 2010.10.27 |
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
자바로그인UI가 추가된 소스 (0) | 2010.10.27 |
---|---|
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
채팅방클라이언트 (0) | 2010.10.22 |
public class ChatClientByConsole
{
static int port = 0;
static String host = "";
public ChatClientByConsole(String host,int port)
{
this.port = port;
this.host = host;
}
public static void main(String[] args)
{
new ChatClientByConsole("127.0.0.1",10001);
Socket sock = null;;
PrintWriter pw=null;
BufferedReader br=null;
BufferedReader br2=null;
InputStream in;
OutputStream out;
try
{
sock = new Socket(host,port);
br = new BufferedReader(new InputStreamReader(System.in));
in = sock.getInputStream();
out = sock.getOutputStream();
pw = new PrintWriter(new OutputStreamWriter(out));
br2 = new BufferedReader(new InputStreamReader(in));
pw.println(args[0]);
pw.flush();
String line= null;
//입력쓰레드 생성
InputThread it = new InputThread(sock,br2);
it.start();
while((line=br.readLine())!=null)
{
//System.out.println(args[0]+":"+line);
pw.println(line);
pw.flush();
}
}
catch (SocketException sqe)
{
System.out.println("서버와 연결이 안됨");
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(pw!=null)
pw.close();
if(br2!=null)
br2.close();
//if(br2!=null)
// br2.close();
if(sock!=null)
sock.close();
}
catch (Exception ex)
{
}
}
//키보드로 부터 입력받는다.
//입력받은 걸 inputStream으로 바꾼다.
//그런다음
}
}
class InputThread extends Thread
{
Socket sock = null;
BufferedReader br = null;
PrintWriter pw = null;
InputStream in = null;
OutputStream out = null;
public InputThread(Socket sock,BufferedReader br)
{
this.sock = sock;
this.br = br;
}
public void run()
{
try
{
in=sock.getInputStream();
out=sock.getOutputStream();
//br = new BufferedReader(new InputStreamReader(in));
//pw = new PrintWriter(new OutputStreamWriter(out));
String line = null;
while( (line=br.readLine()) != null)
{
System.out.println(line);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(pw!=null)
pw.close();
if(br!=null)
br.close();
//if(br2!=null)
// br2.close();
if(sock!=null)
sock.close();
}
catch (Exception ex)
{
}
}
}
}
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
---|---|
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
채팅방클라이언트 (0) | 2010.10.22 |
채팅방 Client UI (0) | 2010.10.21 |
public class MultiChatServer
{
public static void main(String[] args)
{
try
{
ServerSocket serverSoc = new ServerSocket(10001);
System.out.println("접속을 기다립니다.");
HashMap hm = new HashMap();
while(true)
{
Socket sock = serverSoc.accept();
ChatThread chatthread = new ChatThread(sock,hm);
chatthread.start();
}
}
catch (Exception ex)
{
System.out.println(ex);
}
System.out.println("Hello World!");
}
}
class ChatThread extends Thread
{
private Socket socket;
private String id;
private BufferedReader br;
private PrintWriter pw;
private HashMap hm;
private boolean initFlag = false;
public ChatThread(Socket socket,HashMap hm)
{
this.socket = socket;
this.hm = hm;
try
{
pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//System.out.println("11111");
id=br.readLine();
//System.out.println("22222");
broadcast(id +"님이 접속했습니다.");
System.out.println("접속한 사용자의 아이디는 "+ id +"입니다.");
synchronized(hm)
{
hm.put(this.id,pw);
}
initFlag = true;
}
catch (Exception ex)
{
//System.out.println("111111111");
ex.printStackTrace();
}
}
public void run()
{
try
{
String line = null;
System.out.println("1111111111");
while((line = br.readLine()) != null)
{
broadcast(id + ":" +line);
}
System.out.println("22222222222");
}
catch (Exception ex)
{
//System.out.println("2222222");
ex.printStackTrace();
}
finally
{
synchronized(hm)
{
hm.remove(id);
}
try
{
if(socket!=null)
socket.close();
}
catch (Exception ex)
{
}
}
}
public void broadcast(String msg)
{
synchronized(hm)
{
Collection col = hm.values();
Iterator iter = col.iterator();
while(iter.hasNext())
{
PrintWriter pw = (PrintWriter)iter.next();
pw.println(msg);
pw.flush();
}
}
}
}
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
---|---|
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
채팅방클라이언트 (0) | 2010.10.22 |
채팅방 Client UI (0) | 2010.10.21 |
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
---|---|
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
채팅방 Client UI (0) | 2010.10.21 |
swing으로 만든 멀티채팅소스 (0) | 2010.10.27 |
---|---|
멀티서버네번째소스 (0) | 2010.10.26 |
자바 멀티채팅클라이언트 기본소스 (0) | 2010.10.24 |
자바 멀티서버 기본소스 (0) | 2010.10.24 |
채팅방클라이언트 (0) | 2010.10.22 |