在服务器上用socket接收到数据,然后再用ServerSocket发送给客户端,怎么将接收到的socket数据转换成ServerSocket的OutputStream发送出去呀?请高手指导一下,不胜感激!ServerSocket server = new ServerSocket(10000);
Socket socket = new Socket(IPAddress, port);
while(true){
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    StringBuffer strLine = new StringBuffer(in.readLine());
    System.out.println(strLine);
    PrintWriter out = new PrintWriter(socket.getOutputStream());
    out.flush();
}上面的程序发不出去,是不是要把strLine转成OutputStream?怎么转呀?

解决方案 »

  1.   

    把第二行替换为:Socket socket = server.accept();
      

  2.   

    2楼说的对没有accepet();自我感觉用DataOutputStream 封装比较好
    DataOutputStream dos = new DateOutputStream(socket.getOutputStream());dos.writeUTF();
    客户端用DataInputStream dis = new DataInputStream(socket.getInputStream());dis.readUTF();自己的小观点 
      

  3.   

    谢谢楼上的回答,但我的问题是要把一个收到的Socket流用ServerSocket再转发出去,在一个程序里又要接收还要发送,而且要用while(true)循环自动完成
      

  4.   

    InputStream in = socket.getInputStream();
    OutputStream out = socket.getOutputStream();//读取数据
    byte[] buf = new  byte[1024];
    int readsize = 0;
    readsize = in.read(buf);//输出数据
    String text = "just for test";
    out.write(text.getBytes());
      

  5.   

    也就是说这个程序既是服务器,又是客户端,自己给自己发数据!
    服务器端程序和客户端程序通常要分开写在两个类中(Server.class,Client.class),写在一块的形式还没见过!