자바 1:1채팅 프로그램을 만드는데...
앨버트
간단하게 1:1로 채팅되는 프로그램을 만드는 중입니다...
대부분 에코채팅을 많이 만드시던데 에코 채팅경우 서버는 클라이언트가 주는
문자만 받고 서버 자신은 문자를 못보내던데 서버도 클라이언트에게
문자를 보내게 할수있을까요...
서버가 클라이언트까지 할수 있게 만든다고 할수 있겠네요...
에코채팅을 변형시켜서 해봤는데 아직 초보라서 주고받긴하는데
번갈아가면서 해야만되네여..;;
아시는분 도와 주십시오...;;
서버입니다
import java.io.*;
import java.net.*;
public class EchoServer
{
public static void main(String[]args)
{
try
{
ServerSocket server =new ServerSocket(10001);
System.out.println(접속을 기다립니다);
Socket sock = server.accept();
InetAddress inetaddr = sock.getInetAddress();
System.out.println(inetaddr.getHostAddress() + 로 부터 접속했습니다.);
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = br.readLine()) != null)
{
System.out.println(클라이언트 : + line);
pw.println(line);
pw.flush();
}
pw.close();
br.close();
sock.close();
}
catch (Exception e)
{
System.out.println(e);
}
}
}
클라이언트입니다
import java.io.*;
import java.net.*;
public class EchoClient
{
public static void main(String[]args)
{
try
{
Socket sock = new Socket(127.0.0.1, 10001);
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
OutputStream out = sock.getOutputStream();
InputStream in = sock.getInputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = null;
while((line = keyboard.readLine()) != null)
{
if(line.equals(quit)) break;
pw.println(line);
pw.flush();
String echo =br.readLine();
System.out.println(서버 : + echo);
}
pw.close();
br.close();
sock.close();
}
catch (Exception e)
{
System.out.println(e);
}
}
}
-
갤투
네 가능합니다.
위에 적어놓은 코드는 자세히 보지 않았고 input 과 output 을 각각의 스레드로 구성하여 하는 것이 좋습니다.
그 이유는 직접 알아 보시고요~
또 위의 코드를 직접 짜신 거라면 스레드 공부만 조금 하시면 충분하겠네요.
그럼 나머진 직접 -_-~~
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2696094 | exe 파일 | 제철 | 2025-05-26 |
2696043 | 제이쿼리 .scroll() 관련 질문드립니다 | 이거이름임 | 2025-05-26 |
2695984 | 마크업상으로 하단에 있으나 우선적으로 이미지파일을 다운로드받는 방법 (1) | 들꿈 | 2025-05-25 |
2695934 | tr 속성값 (9) | 새 | 2025-05-25 |
2695905 | ASP로 개발됐을 때 css가 달라져요 ㅠㅠ (4) | 슬아라 | 2025-05-24 |
2695878 | form을 이용한 다른 페이지로 넘기는 방법을 알려주세요 (1) | 핫파랑 | 2025-05-24 |
2695844 | 저기 암호화 및 복호화 프로그램.. 만들어볼려는대 (2) | 한빛 | 2025-05-24 |
2695814 | [질문] PDA에서 애플릿이 가능한가요? (1) | 봄시내 | 2025-05-24 |
2695785 | 웹 설정 도와줄분 | 화이트캣 | 2025-05-23 |
2695730 | 갑자기 기억이 안나는데 accesskey 속성.. | 빛나라 | 2025-05-23 |
2695702 | [질문] Java 버전 차이에 의한 오류?!! (2) | 검사 | 2025-05-23 |
2695672 | 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) | 뽀그리 | 2025-05-22 |
2695647 | 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) | 아빠몬 | 2025-05-22 |
2695586 | IFRAME 캐싱 질문 | 봄나비 | 2025-05-22 |
2695498 | [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; | 터1프한렩 | 2025-05-21 |
2695468 | 자바랑 이클립스에서요.. | 스킬 | 2025-05-21 |
2695375 | Mysql 연동하는 자바 질문있습니다. | 아리솔 | 2025-05-20 |
2695319 | 파워포인트 파일을 저장할 수 있을까요? | 시윤 | 2025-05-19 |
2695289 | [질문]Tween 값의 정도를 알고 싶습니다. | 타마 | 2025-05-19 |
2695238 | c 와 c++의 시작 (10) | ChocoHoilc | 2025-05-18 |