Socket获取数据流的一个问题
各位前辈
为什么我的Socket在获取数据流的时候会阻塞在那儿呢??
客户端和服务器端都是一样
客户端的程序片段如下:
System.out.println( "正在连接中... ");
Socket toPeer = new Socket(dst_ip,4000);
System.out.println(dst_ip);
System.out.println( "socket: "+toPeer);
System.out.println( "连接成功 ");
System.out.println( "正在获得输入流1... ");
ObjectInputStream stream_from_peer=new ObjectInputStream(toPeer.getInputStream());
System.out.println( "获得输入流1成功 ");
System.out.println( "正在获得输出流1... ");
PrintStream stream_to_peer=new PrintStream(toPeer.getOutputStream());
System.out.println( "获得输出流1成功 ");
服务器端的程序片段如下:
server = new ServerSocket(4000);
while(true)
{
System.out.println( "等待建立SA... ");
Socket serverSocket = server.accept();
System.out.println( "有主机与本地主机建立SA成功 ");
System.out.println( "正在获得输入流... ");
ObjectInputStream stream_from_peer=new ObjectInputStream(serverSocket.getInputStream());
System.out.println( "获得输入流成功 ");
System.out.println( "正在获得输出流... ");
PrintStream stream_to_peer=new PrintStream(serverSocket.getOutputStream());
System.out.println( "获得输出流成功 ");
}
程序全停在了socket.getInputStream()方法上
在线等答案
谢谢啦
------解决方案--------------------你的服务器端输入是ObjectInputStream与客户端输出PrintStream不符。服务端输出与客户端输入也不符
------解决方案--------------------