我目前正在使用套接字和ServerSockets编写多用户服务器。我想知道如果在某个时间范围内没有完成代码,是否有超时代码。例如:
ServerSocket ss = new SeverSocket(PORT);
timeout(1000) {
ss.accept();
}
ServerSocket接受新用户的位置。然而,由于没有用户尝试连接,ss.accept()将在1秒后结束。
timeout(DURATION) {//code}
不存在,但这只是我在这个例子中提出的一个任意概念。我将使用它的另一个位置是当我接受用户的数据时:
ServerSocket ss = new ServerSocket(PORT);
Socket client = ss.accept();
BufferedReader in =
new BufferedReader(new InputStreamReader(client.getInputStream()))
String data = "";
timeout(1000) {
data = in.readLine();
}
如果没有从客户端提交数据,程序将超时。
注意:我正在编写的服务器代码将不断运行用户的HashMap,并捕获用户尝试发送到服务器的数据。然后它将获取该数据并执行其指定的功能。