我正在更新服务器程序中的代码,对此我有疑问。下面是示例代码:
choice = "RETRY";
while(choice.equals("RETRY")) {
out.writeObject("ENTER_PREDICTION_PHASE");
String predictedClass = null;
RegressionTree predictionTree=tree;
while(predictedClass == null) {
out.writeObject("START_PREDICTION");
String[] queryOptions= predictionTree.formulateQuery();
if(queryOptions != null) {
out.writeObject("START_QUERY");
for(String option : queryOptions) {
out.writeObject(option);
}
out.writeObject("END_QUERY");
int selectedOption = (int) in.readObject();
predictionTree= predictionTree.predictClass(selectedOption);
}else {
out.writeObject("END_PREDICTION");
predictedClass = predictionTree.getPredictedClassString();
out.writeObject(predictedClass);
//wait for RETRY or QUIT
choice = (String) in.readObject();
}
}
}
如果服务器向客户机发送多个对象,而客户机使用socket.readobject只读取一次,会发生什么情况?对象是否堆叠在缓冲区中并一次读取或作为一个整体读取?是否有类似于c fflush()的方法来释放缓冲区?
还有另一个问题,尽管它不相关:我想问另一个关于stackoverflow的问题,但我不知道我想要实现什么的定义。基本上遵循上面相同的代码,我希望服务器在从套接字读取quit时中断,我想问一下这是怎么做到的,如果有什么特别的方法,而不是放大量的if。这种方法叫什么?有状态编程?我不知道,帮帮我
暂无答案!
目前还没有任何答案,快来回答吧!