목차
server와 client 구동 시 캡쳐 사진
server 구동 방법
server의 소스 설명
client 구동 방법
clinet 소스 설명
server 구동 방법
server의 소스 설명
client 구동 방법
clinet 소스 설명
본문내용
ic static void main(String[] args) {
new StudyServer();
}
}
//Constants.java
package study_chatting_0903;
public class Constants {
public static String NUM_USER = "NUM_USER"
}
//GetResThread.java
package study_chatting_0903;
import java.awt.TextArea;
import java.awt.TextField;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class GetResThread extends Thread {
Socket soc = null
BufferedReader buff = null
String resMes = null
ServerSocket server = null
TextField textField = new TextField();
TextAreatextArea= new TextArea();
public GetResThread(Socket soc, TextArea ta, TextField tf) {
this.soc = soc;
this.textArea= ta;
this.textField = tf;
}
public void run() {
try {
while(true) {
System.out.println("server에서응답기다리는Client...");
buff = new BufferedReader(new InputStreamReader(soc.getInputStream()));
String resMes = buff.readLine()+"\n"
textArea.append(resMes);
textField.setText("");
textField.requestFocus();
System.out.println("Client Received From Server : " + resMes);
}
} catch (Exception e) {
} finally {
}
}
}
//InsertWordsUI.java
package study_chatting_0903;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class InsertWordsUI {
public static void main(String[] args) {
Make_UI MU = new Make_UI();
MU.Make_UI_start();
}
}
class Make_UI {
Socket soc = null;
BufferedReader buff = null;
String userNum= null;
void Make_UI_start() {
try {
soc = new Socket("localhost", 0643);
buff = new BufferedReader(new InputStreamReader(soc.getInputStream()));
userNum = buff.readLine();
System.out.println("userNum : " + userNum);
} catch(Exception e ) {
e.printStackTrace();
}
new UI("User_" + userNum);
}
}
//UI.java
package study_chatting_0903;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.OutputStream;
import java.net.Socket;
@SuppressWarnings("serial")
public class UI extends Frame{
TextFieldtextField = new TextField();
TextAreatextArea= new TextArea();
String mes = null;
OutputStream os = null;
Socket soc = null;
public UI(String title) {
super(title);
textField = new TextField();
textArea = new TextArea();
add(textArea, "Center");
add(textField, "South");
try {
soc = new Socket("localhost", 0642);
} catch(Exception e ) {
e.printStackTrace();
}
GetResThread getResThread = new GetResThread(soc, textArea, textField);
getResThread.start();
textField.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
mes = textField.getText() + "\n";
textField.setText("");
textField.requestFocus();
try {
os = soc.getOutputStream();
os.write(mes.getBytes());
os.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
});
textArea.setEnabled(false);//TextArea의 text를 편집 못하게 한다.
setSize(300,200);
setVisible(true);
textField.requestFocus();//focus가 TextField에 위치하도록 한다.
}
}
new StudyServer();
}
}
//Constants.java
package study_chatting_0903;
public class Constants {
public static String NUM_USER = "NUM_USER"
}
//GetResThread.java
package study_chatting_0903;
import java.awt.TextArea;
import java.awt.TextField;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class GetResThread extends Thread {
Socket soc = null
BufferedReader buff = null
String resMes = null
ServerSocket server = null
TextField textField = new TextField();
TextAreatextArea= new TextArea();
public GetResThread(Socket soc, TextArea ta, TextField tf) {
this.soc = soc;
this.textArea= ta;
this.textField = tf;
}
public void run() {
try {
while(true) {
System.out.println("server에서응답기다리는Client...");
buff = new BufferedReader(new InputStreamReader(soc.getInputStream()));
String resMes = buff.readLine()+"\n"
textArea.append(resMes);
textField.setText("");
textField.requestFocus();
System.out.println("Client Received From Server : " + resMes);
}
} catch (Exception e) {
} finally {
}
}
}
//InsertWordsUI.java
package study_chatting_0903;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class InsertWordsUI {
public static void main(String[] args) {
Make_UI MU = new Make_UI();
MU.Make_UI_start();
}
}
class Make_UI {
Socket soc = null;
BufferedReader buff = null;
String userNum= null;
void Make_UI_start() {
try {
soc = new Socket("localhost", 0643);
buff = new BufferedReader(new InputStreamReader(soc.getInputStream()));
userNum = buff.readLine();
System.out.println("userNum : " + userNum);
} catch(Exception e ) {
e.printStackTrace();
}
new UI("User_" + userNum);
}
}
//UI.java
package study_chatting_0903;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.OutputStream;
import java.net.Socket;
@SuppressWarnings("serial")
public class UI extends Frame{
TextFieldtextField = new TextField();
TextAreatextArea= new TextArea();
String mes = null;
OutputStream os = null;
Socket soc = null;
public UI(String title) {
super(title);
textField = new TextField();
textArea = new TextArea();
add(textArea, "Center");
add(textField, "South");
try {
soc = new Socket("localhost", 0642);
} catch(Exception e ) {
e.printStackTrace();
}
GetResThread getResThread = new GetResThread(soc, textArea, textField);
getResThread.start();
textField.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
mes = textField.getText() + "\n";
textField.setText("");
textField.requestFocus();
try {
os = soc.getOutputStream();
os.write(mes.getBytes());
os.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
});
textArea.setEnabled(false);//TextArea의 text를 편집 못하게 한다.
setSize(300,200);
setVisible(true);
textField.requestFocus();//focus가 TextField에 위치하도록 한다.
}
}
추천자료
- 객체지향프로그램_자판기프로그램
- 사원관리를 위한 Java(자바) 팀 프로젝트 발표자료-소스 입니다
- Print Keybord - 키보드로 입력받은 문자를 화면에 출력하는 소스코드 레포트 (13page)
- 라디오 프로그램 기획안 - 프로그램 개요, 제목, 기획의도, 방송시간과 시각, 제작 내용
- [클리퍼][프로그래밍언어][프로그램언어][프로그래밍]프로그래밍언어(프로그램언어)의 발전 ...
- [동영상][동영상 촬영기법][동영상 저장][편집][타이틀제작]동영상의 포맷, 동영상의 촬영기...
- 집단 상담프로그램 - 대인관계 능력 향상을 위한 집단 상담 프로그램
- [윈도우프로그래밍] 데이터베이스응용 관리프로그램 - 음원관리 프로그램 : 음악관리,데이터...
- 멀티미디어 공학-RGB이미지, YCbCr로 변환, DCT변환, 소스코드, 실행화면, 설명, 고찰
- [정신건강 프로그램 계획 보고서] 중고생들의 PC중독 예방 프로그램
- [졸업작품] MFC 주소록 관리 프로그램 (Visual C++(MFC), MS SQL Server Compact 3.5 (파일DB...
- AVR EEPROM 데이터 쓰기와 읽기 및 활용 (EEPROM사용법,EEPROM 데이터 읽고 쓰기,EEPROM테스...
- AVR을 이용하여 적외선센서(수,발광) 제어하기 (IR센서제어,라인트레이서,적외선 ADC,센서값 ...
- AVR을 이용한 블루투스 통신 실험 (블루투스 제어,시리얼 통신,UART,atmega128,안드로이드,소...
소개글