测试Kong网关的websocket功能

一、在线安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl daemon-reload && systemctl restart docker

二、安装python3以及依赖包

yum install python36

pip3.6 install websocket_client

三、运行kong网关

docker run -d --name kong \
    -e "KONG_DATABASE=off" \
    -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
    -p 8000:8000 \
    -p 8443:8443 \
    -p 8001:8001 \
    -p 8444:8444 \
    kong

四、网关上注册websocket接口

websocket server online: ws://123.207.136.134:9010/ajaxchattest

cat > apis.yaml <<EOF
_format_version: "1.1"
services:
 - name: websocket-service
   url: http://123.207.136.134:9010
   routes:
   - name: websocket-route
     paths:
     - /
EOF

curl -F "config=@apis.yaml" http://127.0.0.1:8001/config

五、客户端测试

其中127.0.0.1:8000是Kong网关的数据口

cat > client.py <<EOF
#!/usr/bin/env python3

from websocket import create_connection

ws = create_connection("ws://127.0.0.1:8000/ajaxchattest")
print("Sending 'Hello, World 1'...")
ws.send("Hello, World 1")
print("Sent")
print("Receiving...")
result =  ws.recv()
print("Received '%s'" % result)

print("Sending 'Hello, World 2'...")
ws.send("Hello, World 2")
print("Sent")
print("Receiving...")
result =  ws.recv()
print("Received '%s'" % result)

print("Sending 'Hello, World 3'...")
ws.send("Hello, World 3")
print("Sent")
print("Receiving...")
result =  ws.recv()
print("Received '%s'" % result)

ws.close()
EOF

chmod +x client.py

./client.py
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Kong 是 Mashape 开源的高性能高可用 API 网关和 API 管理服务层。它基于 OpenResty ...
    meng_philip123阅读 9,142评论 0 6
  • kong简介 Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要...
    pingforever阅读 11,684评论 0 10
  • 1. 需求分析 ​ 无论是单体应用,SOA和微服务框架下,网关的存在是很必要。网关作为一个内网开发的入口。一些...
    haishuiaa阅读 4,512评论 2 3
  • 一、术语定义 二、CAS应用 CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值...
    二月夜阅读 988评论 0 0
  • 很多人最不缺的经验是,只想不做。 想了很久,但每次开始做的时候由于各种各样的原因而迟迟无法开始。 那如何开始呢? ...
    国瑞阅读 785评论 1 0