我正在开发一个程序,其中有两个客户端使用套接字相互连接。我有一个while循环,它迫使客户端等待直到彼此之间成功建立连接后再继续,但是循环内的代码似乎无法正确运行。
我尝试将打印语句放入while循环内,这会使代码按预期运行,但是当我删除它们时,while循环似乎不再检查我设置的条件,并且因此一直挂断。
boolean keepRunning = true;
while (keepRunning)
{
if (alice.ready())
{
keepRunning = false;
}
}
public void ready()
{
return (socket1 != null) && (socket2 != null);
}
代码应该继续检查两个客户端是否准备就绪,然后继续在程序中运行,但是当前使用上面的代码,客户端彼此连接,但是从不退出循环,这使我相信内部代码运行不完全符合我的期望。同样,当我将print语句放入主while循环内时,代码按我的预期工作。