情况是这样的:A电脑发报文给B电脑,采用同步短连接,B再发给C也是采用同步短连接,C返回给B,B再返回给A,B对报文都不做任何处理,其实B就是一个转发的作用而已
代码贴出来看看 为什么不行呢??
import java.net.* ;
import java.io.* ;
public class EchoServer{
public static void main(String args[]) throws Exception { // 所有异常抛出
ServerSocket server = null ; // 定义ServerSocket类
Socket client = null ; // 表示客 户端
BufferedReader buf = null ; // 接收输入流
PrintStream out = null ; // 打印流输出最方便
server = new ServerSocket(8888) ; // 服务器在8888端口上监听
boolean f = true ; // 定义个标记位
while(f){
System.out.println("服务器运行,等待客户端连接。") ;
client = server.accept() ; // 得到连接,程序进入到阻塞状态
out = new PrintStream(client.getOutputStream()) ;
// 准备接收客户端的输入信息
buf = new BufferedReader(new InputStreamReader(client.getInputStream())) ;
String str = buf.readLine() ; // 接收客户端发送的内容
System.out.println(str);

//发送到His
Socket clienttoHis = new Socket("localhost",9999);
PrintStream outtoHis =  new PrintStream(clienttoHis.getOutputStream()) ;
BufferedReader buf2 = new BufferedReader(new InputStreamReader(clienttoHis.getInputStream())) ;
String echo = buf.readLine() ; // 接收返回结果
System.out.println(echo);
outtoHis.println(str) ;
outtoHis.close();
clienttoHis.close();
//结束

out.println(echo) ; // 回应信息



client.close() ;
}
server.close() ;
}
};