郑云飞 发表于 2013-1-15 01:55:14

自由聊天程序

package test;import java.io.*;import java.net.Socket;public class TestClient{public static void main(String[] args){try{Socket s=new Socket("localhost",8888);System.out.println("已经和服务器建立连接");DataInputStream dis=new DataInputStream(s.getInputStream());DataOutputStream dos=new DataOutputStream(s.getOutputStream());new MyClientReader(dis).start();new MyClientWriter(dos).start();}catch(Exception e){e.printStackTrace();}}}class MyClientReader extends Thread{private DataInputStream dis;public MyClientReader(DataInputStream dis){super();this.dis = dis;}public void run(){String message;try{while(true){message=dis.readUTF();System.out.println("服务端说:"+message);if(message.equals("88")){System.out.println("对方已经下线,程序退出");System.exit(0);}}}catch(Exception e){e.printStackTrace();}}}class MyClientWriter extends Thread{private DataOutputStream dos;public MyClientWriter(DataOutputStream dos){super();this.dos = dos;}public void run(){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));String message;try{    while(true)    {    System.out.print("请输入消息:");    message=br.readLine();    dos.writeUTF(message);    if(message.equals("88"))    {    System.out.println("自己下线,程序退出");    System.exit(0);    }    }}catch(Exception e){e.printStackTrace();}}} 
package test;import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class TestServer{public static void main(String[] args){System.out.println("服务器启动成功");try{ServerSocket ss=new ServerSocket(8888);Socket s=ss.accept();System.out.println("已经和客户端建立连接");OutputStream os=s.getOutputStream();DataOutputStream dos=new DataOutputStream(os);InputStream is=s.getInputStream();DataInputStream dis=new DataInputStream(is);new MyServerReader(dis).start();new MyServerWriter(dos).start();}catch(Exception e){e.printStackTrace();}}}class MyServerReader extends Thread{private DataInputStream dis;public MyServerReader(DataInputStream dis){super();this.dis = dis;}public void run(){String message;try{while(true){message=dis.readUTF();System.out.println("客户端说:"+message);if(message.equals("88")){System.out.println("对方下线,程序退出");System.exit(0);}}}catch(Exception e){e.printStackTrace();}}}class MyServerWriter extends Thread{private DataOutputStream dos;public MyServerWriter(DataOutputStream dos){super();this.dos = dos;}public void run(){BufferedReader br=new BufferedReader(new InputStreamReader(System.in));String message;try{    while(true)    {    message=br.readLine();    dos.writeUTF(message);    if(message.equals("88"))    {    System.out.println("自己下线,程序退出");    System.exit(0);    }    }}catch(Exception e){e.printStackTrace();}}} 
页: [1]
查看完整版本: 自由聊天程序