吃猫的鱼 发表于 2013-2-3 11:59:00

Java网络聊天之客户端

  前面发了服务端,下面是客户端
  【Socket读取】 
/** * *   netChat * *   Copyright © 2012 All Rights Reserved. * *   ClientReader.java * *   VersionDate      Author   Content *   -------- --------- ---------- ------------------------ *   1.0.0    2012-3-12   yangchao    最初版本 */package com.net.chat.client;import java.io.DataInputStream;import java.io.IOException;/** * <b>Summary: </b> *      客户端端Socket读取类 * <b>Remarks: </b> *      客户端端Socket读取类 */public class ClientReader extends Thread{private DataInputStream dis;public ClientReader(DataInputStream s) {this.dis = s;}public void run() {String info;try {while (true) {info = dis.readUTF();System.out.println("对方说:" + info);if (info.equals("bye")) {System.out.print("对方一下线");System.exit(0);}}} catch (IOException e) {e.printStackTrace();}}}   【Socket写入】 
/** * *   netChat * *   Copyright © 2012 All Rights Reserved. * *   ClientWriter.java * *   VersionDate      Author   Content *   -------- --------- ---------- ------------------------ *   1.0.0    2012-3-12   yangchao    最初版本 */package com.net.chat.client;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;/** * <b>Summary: </b> *      客户端Socket写入类 * <b>Remarks: </b> *      客户端Socket写入类 */public class ClientWriter extends Thread{private DataOutputStream dos;public ClientWriter(DataOutputStream s) {this.dos = s;}public void run() {String info;InputStreamReader is = new InputStreamReader(System.in);BufferedReader bf = new BufferedReader(is);while (true) {try {info = bf.readLine();dos.writeUTF(info);if (info.equals("bye")) {System.out.print("你已经下线");System.exit(0);}} catch (IOException e) {e.printStackTrace();}}}} 【客户端Main方法】
/** * *   netChat * *   Copyright © 2012 All Rights Reserved. * *   TestClient.java * *   VersionDate      Author   Content *   -------- --------- ---------- ------------------------ *   1.0.0    2012-3-12   yangchao    最初版本 */package com.net.chat.client;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;/** * <b>Summary: </b> *      客户端Main方法 * <b>Remarks: </b> *      客户端Main方法 */public class TestClient {public static void main(String[] args) {try {Socket s1 = new Socket("127.0.0.1", 8888);OutputStream os = s1.getOutputStream();DataOutputStream dos = new DataOutputStream(os);InputStream is = s1.getInputStream();DataInputStream dis = new DataInputStream(is);new ClientReader(dis).start();new ClientWriter(dos).start();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} 
页: [1]
查看完整版本: Java网络聊天之客户端