JAVA를 이용한 채팅 프로그램 구현
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

I. 프로그램 실행
II. 프로그램 분석
II 프로그램 소스

본문내용

ayout(4, 0));
label1.setText("Server IP");
panel1.add(label1);
textField1.setColumns(20);
panel1.add(textField1);
label2.setText("Port");
panel1.add(label2);
textField2.setColumns(8);
panel1.add(textField2);
label3.setText("ID");
panel1.add(label3);
textField3.setColumns(20);
panel1.add(textField3);
button1.setLabel("Connect");
button1.addActionListener(this);
panel1.add(button1);
button2.setLabel("Disconnect");
button2.addActionListener(this);
panel1.add(button2);
textField4.setText("input");
textField4.setColumns(40);
textField4.setEditable (false);
textField4.addActionListener(this);
frame.add(panel1, BorderLayout.NORTH);
panel2.setLayout(new BorderLayout());
panel2.add(textArea1, BorderLayout.CENTER);
panel2.add(textField4, BorderLayout.SOUTH);
frame.add(panel2, BorderLayout.CENTER);
frame.pack();
frame.setVisible (true);
}//
protected DataInputStream dataIn;
protected DataOutputStream dataOut;
protected Thread listener;
// method : start()
public synchronized void start() throws IOException {
if(listener == null) {
Socket socket = new Socket(host, port);
try{
dataIn = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
dataOut = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
dataOut.writeUTF("##name##" + id);
dataOut.flush();
}catch(IOException ie) {
socket.close();
throw ie;
}
listener = new Thread(this);
listener.start();
}
}
// method : stop()
public synchronized void stop() throws IOException {
if(listener != null) {
listener.interrupt();
listener = null;
dataOut.close();
}
}
// method : run()
public void run() {
try {
while(!Thread.interrupted()) {
String line = dataIn.readUTF();
textArea1.append(line+"\n");
}
}catch(IOException ie) {
handleIOException(ie);
}finally{
connectok = false;
}
}
// method : handleIOException()
protected synchronized void handleIOException (IOException ex) {
if(listener != null) {
textArea1.append(ex+"\n");
frame.validate();
if(listener != Thread.currentThread())
listener.interrupt();
listener = null;
try{
dataOut.close();
}catch(IOException ignored) {
}
}
}
protected boolean connectok = false;
// method : actionPerformed()
public void actionPerformed(ActionEvent event) {
try{
if(!connectok && event.getActionCommand().equals("Connect")) {
host = textField1.getText();
port = Integer.parseInt(textField2.getText());
id = textField3.getText();
textArea1.append("press Connect button\n");
start();
textField4.setEditable (true);
textField4.setText("");
connectok = true;
}else if (connectok && event.getActionCommand().equals(textField4.getText()) ) {
textField4.selectAll();
dataOut.writeUTF("<"+ id +"> : " + event.getActionCommand());
dataOut.flush();
textField4.setText("");
}else if(connectok && event.getActionCommand().equals("Disconnect")){
textArea1.append("press Disconnect button\n");
stop();
connectok = false;
}
}catch(IOException ex) {
handleIOException(ex);
}
}
// method : main()
public static void main(String args[]) {
ChatClient chat = new ChatClient();
}
}

키워드

자바,   JAVA,   채팅,   chatting,   프로그램
  • 가격3,000
  • 페이지수12페이지
  • 등록일2004.11.20
  • 저작시기2004.11
  • 파일형식한글(hwp)
  • 자료번호#274275
본 자료는 최근 2주간 다운받은 회원이 없습니다.
  • 편집
  • 내용
  • 가격
청소해
다운로드 장바구니