zoukankan      html  css  js  c++  java
  • [AWS] WebSockets with API Gateway

    Websocket is a bit different from HTTP, they work on top of a TCP connection.

    User connects to API Gateway with some payload, Apigateway routing the request to different Lambda functions:

    There are some special routes defined for websockets,

    • `$connect`: When user connect to API Gateway thought websocket
    • `$disconnet`:
    • `$defualt`: default one, when there is no matching route

    API Gateway WebSocket URL

    WebSocket API provides two URLs: WebSocket URL and Connection URL.

    WebSocket URL:

    • Clinent use to connect to API
    • Allows clients to send message and receive notifications

    Connection URL:

    • Send back message to client
    • Lambda function use it to send message
    • Requires a connection id to send a message to particular client

    Connection id will be stored in DynamoDB table, a lambda function will read from it.

    Connection URL supports the following operations:

    • POST: to send a message to a client
    • GET: to get the latest connection status
    • DELETE: to disconnect a client from API

    Here is an example of how to react to WebSocket events using Serverless Framework:

    ConnectHandler:
        handler: src/websocket/connect.handler
        events:
          - websocket:
              route: $connect
    
      DisconnectHandler:
        handler: src/websocket/disconnect.handler
        events:
          - websocket:
              route: $disconnect

    Installing Tool

    npm install wscat -g
    wscat -c wss://52zeaf29d.exeute-api.eu-central-1.amazonaws.com/dev
  • 相关阅读:
    VBS与JS变量共享与互操作
    VBA之MSForms.DataObject对象
    VBA编程的工程性规划
    WSF脚本详解:JS和VBS互调用
    HTA程序:VBS/JS脚本GUI
    Python字符串格式化
    Python __builtins__模块拾穗
    Java高级特性 第6节 注解初识
    Java高级特性 第5节 序列化和、反射机制
    Java高级特性 第4节 输入输出流
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14782429.html
Copyright © 2011-2022 走看看