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();
}
}
}