我在Java中使用输入/输出流时遇到了问题。我的想法是有一个DataInputStream
来处理接收文本和PrintStream
将消息从服务器和对象(输出/输入)流传递到服务器,以处理经过的片段移动和当前板图像。Java中的多输入/输出流?
我的问题是,代码在尝试在下面的代码中创建ObjectInputStream
时挂起。这是因为我想要有多个输入和输出流?如果是的话,我可以使用任何可能的修复方法吗?
Socket sock = new Socket("127.0.0.1", 1716);
input = new DataInputStream(sock.getInputStream());
printer = new PrintStream(sock.getOutputStream());
System.out.println("Test 1");
zelda = new ObjectInputStream(sock.getInputStream());
System.out.println("Test 2");
link = new ObjectOutputStream(sock.getOutputStream());
System.out.println("Test 3");
我有很多在我的服务器源代码中的塞尔达传说引用,代码是相当大的。以前的源代码是针对客户端的,虽然服务器连接在这里是我调用ObjectOutputStream的地方。
ObjectOutputStream ganandorf;
for(int i = 0; i < clients.size(); i++)
{
try
{
ganandorf = new ObjectOutputStream(clients.get(i).getOutputStream());
ganandorf.write(1);
ganandorf.flush();
ganandorf.writeObject(something);
ganandorf.flush();
}
可能重复的[getInputStream块?](http://stackoverflow.com/questions/8088557/getinputstream-blocks) –
我切换ObjectInput和ObjectOutput的位置,并强制ObjectOutput刷新,但它仍然挂在ObjectInput – D347th