Создание локального сервера с таймаутами подключения: примеры на Python, Node.js и Java

Чтобы создать локальный хост, время ожидания которого истекает при попытке подключения к нему, вы можете реализовать различные методы в зависимости от используемого вами языка программирования или платформы. Вот несколько примеров на разных языках:

  1. Python (фреймворк Flask):

    from flask import Flask
    import time
    app = Flask(__name__)
    @app.route('/')
    def index():
    time.sleep(60)  # Sleep for 60 seconds to simulate a timeout
    return 'Hello, World!'
    if __name__ == '__main__':
    app.run()
  2. Node.js (фреймворк Express):

    const express = require('express');
    const app = express();
    app.get('/', (req, res) => {
    setTimeout(() => {
        res.send('Hello, World!');
    }, 60000);  // Delay the response for 60 seconds to simulate a timeout
    });
    app.listen(3000, () => {
    console.log('Server running on http://localhost:3000');
    });
  3. Java (фреймворк Spring Boot):

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    @SpringBootApplication
    public class Application {
    @GetMapping("/")
    public String index() throws InterruptedException {
        Thread.sleep(60000); // Sleep for 60 seconds to simulate a timeout
        return "Hello, World!";
    }
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    }

В этих примерах создается простой веб-сервер, который прослушивает локальный хост (порт 3000 для Node.js и порт 8080 для Python и Java). Когда вы посещаете корневой URL-адрес сервера ( http://локальный хост:3000 или http://локальный хост:8080 ), сервер намеренно задерживает ответ на 60 секунд, чтобы имитировать тайм-аут.