AWS Websocket 连接响应
AWS Websocket Connection response
我对 AWS Websockets 还是个新手。我希望我的查询有意义。
所以,我已经管理好我的 "chat" 应用程序。我可以毫无问题地连接、发送消息和断开连接。
我正在尝试改进来自 Connect AWS Apigateway 的回复。我想在客户端看到 "myData"。以后会改为对象列表。
提前致谢
serveless.yml
socketConnection:
handler: ${self:custom.pathFunc}/socketOption.socketConnection
events:
- websocket:
route: $connect
- websocket:
route: $disconnect
socketOptions.js
const socketConnection = ( event, context, callback ) => {
if ( event.requestContext.eventType === 'CONNECT' ) {
addConnection( event.requestContext.connectionId )
.then( () => {
callback( null, {
statusCode: 200,
body: {
myData: "here goes any data I want"
}
} );
} )
} else if ( event.requestContext.eventType === 'DISCONNECT' ) {
// ...
}
};
module.exports.socketConnection = socketConnection
myComponent.vue
connect(){
this.connection = new WebSocket(this.wss)
this.connection.onopen = this.onOpen
this.connection.onmessage = this.onMessage
this.connection.onclose = this.onClose
this.connection.onerror = this.onError
},
onOpen(event){
console.log("onOpen -> event", event)
}
我在 AWS 论坛上找到了与此相关的信息。 AWS 海报“Alan-AWS”说:
That's right, the $connect route corresponds to the connection upgrade request which doesn't have a message.
我的意思是在连接处理过程中没有数据可以返回给客户端。
但是,我已经能够在我的授权 lambda 函数的“上下文”中设置一些值,这些值将传递给路由 lambda 接收到的每个事件——然后可以在一个我想是客户的反应。
我还能够使用特殊的“@connections”方法将消息“推送”到客户端。
我对 AWS Websockets 还是个新手。我希望我的查询有意义。 所以,我已经管理好我的 "chat" 应用程序。我可以毫无问题地连接、发送消息和断开连接。 我正在尝试改进来自 Connect AWS Apigateway 的回复。我想在客户端看到 "myData"。以后会改为对象列表。 提前致谢
serveless.yml
socketConnection:
handler: ${self:custom.pathFunc}/socketOption.socketConnection
events:
- websocket:
route: $connect
- websocket:
route: $disconnect
socketOptions.js
const socketConnection = ( event, context, callback ) => {
if ( event.requestContext.eventType === 'CONNECT' ) {
addConnection( event.requestContext.connectionId )
.then( () => {
callback( null, {
statusCode: 200,
body: {
myData: "here goes any data I want"
}
} );
} )
} else if ( event.requestContext.eventType === 'DISCONNECT' ) {
// ...
}
};
module.exports.socketConnection = socketConnection
myComponent.vue
connect(){
this.connection = new WebSocket(this.wss)
this.connection.onopen = this.onOpen
this.connection.onmessage = this.onMessage
this.connection.onclose = this.onClose
this.connection.onerror = this.onError
},
onOpen(event){
console.log("onOpen -> event", event)
}
我在 AWS 论坛上找到了与此相关的信息。 AWS 海报“Alan-AWS”说:
That's right, the $connect route corresponds to the connection upgrade request which doesn't have a message.
我的意思是在连接处理过程中没有数据可以返回给客户端。
但是,我已经能够在我的授权 lambda 函数的“上下文”中设置一些值,这些值将传递给路由 lambda 接收到的每个事件——然后可以在一个我想是客户的反应。
我还能够使用特殊的“@connections”方法将消息“推送”到客户端。