//服务器
import java.io.*;
import java.net.*;
public class Server implements Runnable{
ServerSocket ss;
Socket socket;
boolean flag=true;
BufferedReader br;
DataOutputStream sout;
public static void main(String args[]) {
new Server().start();

}
public void start(){
try {
ss=new ServerSocket(3100);
System.out.println("取得本地端口是"+ss.getLocalPort());
while(flag)
{
    socket=ss.accept();
    System.out.println("连接已经建立完毕!");
InputStream is=socket.getInputStream();
br=new BufferedReader(new InputStreamReader(is));
OutputStream os=socket.getOutputStream();
sout=new DataOutputStream(os);
Thread thread=new Thread();
thread.start();
String str;
while((str=br.readLine())!=null) {
System.out.println(str);
if(str.equals("bye"))
{
flag=false;
thread.interrupt();
break;
}


}
br.close();
ss.close();
System.exit(0);
}

}catch(Exception e) {

System.out.println("失败");
}
}
public void run() {
while(true) {
try
{
int ch;
while((ch=System.in.read())!=-1)
{
sout.write((byte)ch);
if(ch=='\n')
sout.flush();
}
} catch(Exception e){}
}
}
}
//客户端
import java.io.*;
import java.net.*;
public class Client implements Runnable
{
Socket socket;
BufferedReader br;
DataOutputStream cout;
Thread thread;
boolean flag=true;
public static void main(String args[]) {
Client c=new Client();
c.start();
}
public void start(){
try
{
socket=new Socket("127.0.0.1",3000);
System.out.println("建立连接");
while(flag) {
InputStream is=socket.getInputStream();
br=new BufferedReader(new InputStreamReader(is));
OutputStream os=socket.getOutputStream();
cout=new DataOutputStream(os);
thread=new Thread();
thread.start();
String str;
while((str=br.readLine())!=null) {
System.out.println(str);
if(str.equals("bye"));
{
flag=false;
thread.interrupt();
break;
}
}
os.close();
br.close();
socket.close();
System.exit(0);
}
} catch(Exception e){System.out.println("失败");}
}public void run() {
while(true) {
int ch;
try {
while((ch=System.in.read())!=-1)
{
cout.write((byte)ch);
if(ch=='\n')
cout.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
能运行,客户端也能和服务端连接,但是为什么之后在DOS窗口下就是打不出字来,互相聊天。