可我的程序还是不行。 但我用这两个类实现字符串的传送 BufferedReader in = new BufferedReader(new InputStreamReader(Sock.getInputStream())); PrintWriter out = new PrintWriter(Sock.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(Sock.getInputStream())); PrintWriter out = new PrintWriter(Sock.getOutputStream()); 标准的用法,我写socket流都这样; 而objout.writeObject("xyz") objout.flush()//清空缓冲区,确保全部发送,不能缺少
client: ObjectInputStream objin = new ObjectInputStream(Sock.getInputStream()); ObjectOutputStream objout = new ObjectOutputStream(Sock.getOutputStream());
objout.writeObject("how are you!"); objout.flush(); while(true) { String line =(String) objin.readObject(); if(line == null) break; System.out.println(line); } Sock.close();
objout.writeObject("xyz")
objout.flush()
上述语句应该可以保证流全部传送完毕。
但我用这两个类实现字符串的传送
BufferedReader in = new BufferedReader(new InputStreamReader(Sock.getInputStream()));
PrintWriter out = new PrintWriter(Sock.getOutputStream());
PrintWriter out = new PrintWriter(Sock.getOutputStream());
标准的用法,我写socket流都这样;
而objout.writeObject("xyz")
objout.flush()//清空缓冲区,确保全部发送,不能缺少
ObjectInputStream objin = new ObjectInputStream(Sock.getInputStream());
ObjectOutputStream objout = new ObjectOutputStream(Sock.getOutputStream());
objout.writeObject("how are you!");
objout.flush();
while(true)
{
String line =(String) objin.readObject();
if(line == null) break;
System.out.println(line);
}
Sock.close();
ObjectInputStream objin = new ObjectInputStream(Sock.getInputStream());
ObjectOutputStream objout = new ObjectOutputStream(Sock.getOutputStream());
objout.writeObject("Welcome!";);
objout.flush() ;
while(true)
{
String line = (String) objin.readObject();
if(line == null) break;
objout.writeObject("Echo:" + line;);
objout.flush() ;
}
sock.close();
outt = socket.getOutputStream();
writer = new PrintWriter(new OutputStreamWriter(outt),true);
writer.println(vv)这个流会自动序列化数组 全部传送成功但是你在另一端读出来的时候,要注意格式
eg:Vector vv = new Vector();...
Vector vi = new Vector();...
vv.add(vi);...//接下来还有再加另一些Vector
接受读出来的格式为:
[[..,..,..],[..,..,..],...]