我正在使用AWS Websocket api-gateway。我正在通过aws:execute-api:region:account-id:api-id/stage-name/POST/@connections
向连接的客户端发送消息,但是此消息在很长时间内收到。我为什么不建议哪里出问题了???
一件非常例外的事,当我发送消息时,最后一条消息会占用时间。 示例:如果我发送了一条消息,则需要花费很多时间。如果我发送第一条消息,就像我发送第二条消息一样,第一条消息将立即收到给客户,但是现在第二条第二条消息要花费很多时间。所以基本上,当我发送n条消息时,每隔n条消息将在其他人发送n + 1条消息和n + 1条消息时花费很多时间。
非常感谢您的帮助!
这只是我拥有的代码段
import * as AWS from 'aws-sdk';
export class AWSWebsocketGateway {
websocketInstance;
constructor() {
AWS.config.update({
accessKeyId: <accessKeyId>,
secretAccessKey: <secretAccessKey>,
region: <region>
});
this.websocketInstance = new AWS.ApiGatewayManagementApi({
endpoint: <webSocketDomainName> + <webSocketStage>
});
}
sendMessage(connection, messageObject, callback: Function) {
messageObject = JSON.stringify(messageObject);
this.websocketInstance.postToConnection({ ConnectionId: connection, Data: JSON.stringify(messageObject) }, function (error, data) {
console.log('Error', error, 'Send Message...', data);
return callback(error, data);
});
}
}
我在一个查询中从数据库检索连接ID,然后循环调用此函数以发送消息。