socket 客户端不能同时读写
Client 端:
import java.io.*;
import java.net.*;
public class Client{
public static void main(String args[])throws Exception
{
Socket socket=new Socket("localhost",6735);
InputStream is=socket.getInputStream();
OutputStream os=socket.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
BufferedReader buf=new BufferedReader(new InputStreamReader(is));
String str;
dos.writeBytes("meng");
dos.flush();
str=buf.readLine();
System.out.print(str);
buf.close();
dos.close();
is.close();
}
server端:
import java.io.*;
import java.net.*;
import java.util.*;
public class Server {
public static void main(String args[]) throws IOException {
Server ms = new Server();
ServerSocket sSocket;
sSocket = new ServerSocket(6735);
while(true){
Socket socket = sSocket.accept();
InputStream stream = socket.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(
stream));
OutputStream os = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
String str;
str=buf.readLine();
str=str+"chun";
dos.writeBytes(str);
dos.flush();
dos.close();
buf.close();
}
}
在client只读,server写;或者client 写,server端读,程序能正确运行。
但是client 同时读和写,server同时从客户端读和向客户端写就会出错: connection reset.
请指教~谢谢