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
  • 相关阅读:
    MQTT:前端js客户端库MQTT.js
    MQTT:java客户端库Paho
    EMQ X:认证
    EMQ X:初体验
    MQTT协议
    连接Mysql时报javax.net.ssl.SSLHandshakeException No appropriate protocol (protocol is disabled or cipher suites are inappropriate)错误
    微星11代gp76 3070解锁140w功率
    Jenkins:使用ssh方式拉取gitlab代码
    juc:AQS
    juc:LockSupport
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14782429.html
Copyright © 2011-2022 走看看