Websocket 更改省道网匣上的设置

Websocket 更改省道网匣上的设置,websocket,dart,Websocket,Dart,我尝试了一些修改,但是看到dart在内部使用了一些包装类,我不确定如何设置套接字的设置。具体来说,我尝试创建一个低延迟websocket服务器,因此我想更改TCP_节点延迟标志(是否有其他低延迟相关标志/设置?) 我现在的代码如下。在测试时看到非常高的延迟,我认为这是因为TCP_节点延迟。通过一个简单的node.js套接字服务器,我设法降低了延迟 导入'dart:io'; 导入“dart:async”; 导入“package:route/server.dart”; var端口=7654; voi

我尝试了一些修改,但是看到dart在内部使用了一些包装类,我不确定如何设置套接字的设置。具体来说,我尝试创建一个低延迟websocket服务器,因此我想更改TCP_节点延迟标志(是否有其他低延迟相关标志/设置?)

我现在的代码如下。在测试时看到非常高的延迟,我认为这是因为TCP_节点延迟。通过一个简单的node.js套接字服务器,我设法降低了延迟

导入'dart:io';
导入“dart:async”;
导入“package:route/server.dart”;
var端口=7654;
void main(){
HttpServer.bind(InternetAddress.ANY_IP_V4,端口)
。然后((HttpServer服务器){
打印(“侦听$port上的连接”);
var路由器=新路由器(服务器);
router.service('/ws').transform(新的WebSocketTransformer()).listen(blub);
路由器。服务('/')。侦听((请求){
req.response..write('foo${new DateTime.now().millissecondssinceepoch}')…close();
});
},
onError:(error)=>print(“启动HTTP服务器时出错:$error”);
}
void blub(websocketws){
打印(“@$ws”);
ws.listen((obj){
ws.add(obj);
打印(“@$obj${new DateTime.now().millissecondssinceepoch}”);
});
}

TCP\u NODELAY

有没有办法禁用它以便比较?往返(来回)在其他空闲服务器上需要200毫秒,而node.js socketserver在LAN上需要1-2毫秒,在WAN上需要20-40毫秒。node.js服务器来自。我正在做一个非常彻底的调查,似乎是什么原因导致了除了拥塞或RAM/CPU负载之外的延迟。请参阅我的anwser的第一个版本,我后来用这个答案替换了它:您的第一个版本确实有这个问题的答案(即使已经设置了标志),所以我接受它。虽然更改后的版本仍然提供信息,但它仍然让我想知道如何更改标志。感谢您的快速回复:)