是否存在超时情况,允许代码在特定时间后终止代码块?

时间:2018-02-20 16:01:51

标签: java sockets

我目前正在使用套接字和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,并捕获用户尝试发送到服务器的数据。然后它将获取该数据并执行其指定的功能。

0 个答案:

没有答案