Dart中的多客户端服务器

时间:2018-09-10 08:02:59

标签: tcp dart

如果我想用Java创建一个简单的多客户端TCP服务器,我将等待连接,并创建另一个使用线程池来处理每个线程的线程。

我想知道这段代码是否允许我执行相同的行为,而无需在Dart中为每个客户端显式打开线程:

ServerSocket.bind('127.0.0.1', 4041)
  .then((serverSocket) {
    serverSocket.listen((socket) {
      socket.transform(utf8.decoder).listen(handleClient);
    });
  });

void handleClient(Socket socket){
  // do something
}

如果没有,我将如何实现这种行为?最好以Darty的方式。

2 个答案:

答案 0 :(得分:1)

Aqueduct和Angel Web框架均支持预生成的隔离,以确保您的所有核心都可以发挥作用。

答案 1 :(得分:0)

Dart默认情况下使用单线程并发。 如果要使代码在另一个线程上运行,则需要显式创建一个新的隔离。

Dart支持在同一IP和端口上侦听多个线程,并自动将传入的连接分配给侦听线程。

另请参见