import java.io.*;
import java.net.*;public class TalkServer{
public static void main(String []args){
try{
ServerSocket sss = null;
try{
 sss = new ServerSocket(1668);
}catch(IOException e){
System.out.println("sorry,error"+e);
}
Socket s = null;
try{
 s = sss.accept();
}catch(IOException e){
System.out.println("sorry,servr can't accept"+e);
} InputStream is = s.getInputStream();
DataInputStream di = new DataInputStream(is);
OutputStream os = s.getOutputStream();
DataOutputStream ds = new DataOutputStream(os);
System.out.println("Client:"+di.readUTF());
String ss = null;
DataInputStream diss = new DataInputStream(System.in);
ss = diss.readUTF();
System.out.println("Server:"+ss);
while(!(ss.equals("bye"))){
ds.writeUTF(ss);
ds.flush();
System.out.println("Client:"+di.readUTF());
ss = diss.readUTF();
System.out.println("Server:"+ss);

}
di.close();
diss.close();
ds.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 sss = null;
try{
 sss = new Socket("192.168.1.100",1668);
}catch(IOException e){
System.out.println("sorry,can't to connect"+e);
}
InputStream is = sss.getInputStream();
DataInputStream di = new DataInputStream(is);
OutputStream os = sss.getOutputStream();
DataOutputStream ds = new DataOutputStream(os);
DataInputStream diss = new DataInputStream(System.in);
String ss = null;
ss = diss.readUTF();
System.out.println("Client:"+ss);
ds.writeUTF(ss);
ds.flush();
while(!(ss.equals("bye"))){
System.out.println("Server:"+di.readUTF());
ss = diss.readUTF();
System.out.println("Client:"+ss);
ds.writeUTF(ss);
ds.flush();
}
diss.close();
di.close();
ds.close();
}catch (Exception e){
System.out.println("error"+e);
}

}
}.................
先说了,刚学的,JAVA菜鸟一个的,呵呵
就是用命令行允许时候,出现一下问题
允许到javac TalkClient.java能够通过
到java TalkClient
时候出现:内存空间不足,无法处理此命令
这是什么错误啊,换了台机器也是这样子
请问各位大虾,请教请教

解决方案 »

  1.   

    从键盘读取字符串用这个:BufferedReader diss = new BufferedReader(new InputStreamReader(System.in)); import java.io.*; 
    import java.net.*; public class TalkClient{ 
    public static void main(String []args){ 
    try{ 
    Socket sss = null; 
    try{ 
    sss = new Socket("localhost",1668); //我在自己的机子上测试了一下,改了改地址
    //System.out.println("connect sucess!");
    }catch(IOException e){ 
    System.out.println("sorry,can't to connect"+e); 

    InputStream is = sss.getInputStream(); 
    DataInputStream di = new DataInputStream(is); 
    OutputStream os = sss.getOutputStream(); 
    DataOutputStream ds = new DataOutputStream(os); 
    BufferedReader diss = new BufferedReader(new InputStreamReader(System.in));//该成这样,就OK了 
    System.out.println("IO Stream sucess!");
    String ss = null; 
    ss = diss.readLine(); 
    System.out.println("Client:"+ss); 
    ds.writeUTF(ss); 
    ds.flush(); 
    while(!(ss.equals("bye"))){ 
    System.out.println("Server:"+di.readUTF()); 
    ss = diss.readLine(); 
    System.out.println("Client:"+ss); 
    ds.writeUTF(ss); 
    ds.flush(); 

    diss.close(); 
    di.close(); 
    ds.close(); 
    }catch (Exception e){ 
    System.out.println("error"+e); 
    } } 
      

  2.   


    ss = diss.readLine();
      

  3.   

    获取键盘输入:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));