import java.io.*;
import java.net.*;
public class TalkServer{                 //服务器端
public static void main(String[] args){
try{
ServerSocket ss = new ServerSocket (8888);
Socket so = ss.accept();
System.out.println("cliented");
DataOutputStream dos = new DataOutputStream (so.getOutputStream());
DataInputStream dis = new DataInputStream (so.getInputStream());
DataInputStream sis = new DataInputStream(System.in);
String str = sis.readUTF();
while(str!=null){
System.out.println("server: " + str);
dos.writeUTF(str);
dos.flush();
System.out.println("from client:" + dis.readUTF());
str = sis.readUTF();
}
dis.close();
dos.close();
sis.close();
so.close();
}catch(Exception e){
System.out.println("error"+e);
}

}//客户端
import java.io.*;
import java.net.*;
public class TalkClient{
public static void main(String[] args){
try{
Socket so = new Socket("127.0.0.1", 8888);
DataOutputStream dos = new DataOutputStream (so.getOutputStream());
DataInputStream dis = new DataInputStream (so.getInputStream());
DataInputStream sis = new DataInputStream(System.in);
System.out.println("from server :"+dis.readUTF());
String str = sis.readUTF();
while(str!=null){
System.out.println("client: " + str);
dos.writeUTF(str);
dos.flush();
System.out.println("from server:" + dis.readUTF());
str = sis.readUTF();
}
dis.close();
dos.close();
sis.close();
so.close();
}catch(Exception e){
System.out.println("error"+e);
}
}
}
                            //这样子写怎么不对啊?服务器端出现IOException :储存空间不足,无法处理此命令
                                   //客户端是SocketException :Connection reset    该怎么解决呢?