六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 68|回复: 0

自由聊天程序

[复制链接]

升级  39.33%

31

主题

31

主题

31

主题

秀才

Rank: 2

积分
109
 楼主| 发表于 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();}}} 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表