【发布时间】:2015-01-03 18:30:40
【问题描述】:
我知道以前有人问过这个问题,但是我无法实现如何使用 ObjectOutputStream 多次发送对象,我尝试了这个论坛上人们所说的。 问题是我正在使用多线程和套接字在 Java 中开发一个 Snake 游戏,我已经画了两条蛇,但是我只能将蛇从一条蛇发送到另一条蛇,所以,当我尝试发送另一条蛇时,我得到和 StreamCorruptedException。这是我的代码:
这个方法在我的 Snake 类中,我读过 ObjectOutputStrean 不能多次初始化,但是¿我怎样才能多次发送蛇对象?,这让我很困惑:
public void sendSnake()
{
try
{
outputStream=socket.getOutputStream();
oos=new ObjectOutputStream(outputStream);
oos.writeObject(snakeBody);
}catch(IOException ioe)
{
ioe.printStackTrace();
}
}
问题在于我的代码部分。谢谢。
这是我在 do while 循环中所做的:
try
{
this.sendSnake();
this.receiveListSnakes();
for(int i=0; i<listaSnakes.size(); i++)
{
for(int j=0; j<listSnake.get(i).tam(); j++)
{
mostrar(listSnake.get(i).take(j).part); //this is for display de snake
}
}
}catch(IOException ioex)
{
ioex.printStackTrace();
}
if( op.equals("up") )
{
posy--;
...
public Snake(JFrame screen)
{
//above I have created the Socket
socket=new Socket(ipClient, port);
outputStream=socket.getOutputStream();
oos=new ObjectOutputStream(outputStream);
}
【问题讨论】:
标签: java multithreading sockets objectoutputstream