python - 使用 python 连接到 flask websocket

标签 python sockets flask websocket

我正在尝试做的事情可能无法实现,但就是这样。

我已经使用 Flask 一段时间了,并使用 flask-socketio 创建了几个测试,允许用户在通过网络浏览器访问页面时立即进行通信。

但是,我想知道在使用 socket 模块从 Python 本身连接到服务器时是否可能发生这种情况。从同一系统连接到使用 socket 模块托管的 Python 中的套接字非常简单:

import socket
s = socket.socket()
host = socket.gethostname()
port = 12345
s.connect((host, port))

然而,经过一两个小时的研究和实验,我不知道如何使用这种代码连接到 flask 中的 websocket 设置。

任何帮助(或只是告诉我这是不可能的)将不胜感激!

===== 编辑 =====

因此,在@Aravind 的帮助下,我想出了一个仅使用 python 的客户端服务器解决方案的简单示例:

服务器:

from flask import Flask
from flask_sockets import Sockets


app = Flask(__name__)
sockets = Sockets(app)


@sockets.route('/echo')
def echo_socket(ws):
    while not ws.closed:
        message = ws.receive()
        print(message)
        ws.send(message)

客户:

import websocket
from websocket import create_connection
ws = create_connection("ws://127.0.0.1:12345/echo")
ws.send("hello world")
ws.recv()

我现在意识到,我试图做的事情已经在多个不同的地方进行了多次解释,只是我没有把各个部分放在一起。希望这能对像我一样对 websockets 感到困惑的其他人有所帮助。

最佳答案

import websocket
from websocket import create_connection
ws = create_connection("127.0.0.1:12345")
#ws.close() for closing 
#ws.send()enter code here
#ws.recv()
#pip install websocket-client 

关于python - 使用 python 连接到 flask websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44706033/

相关文章:

python - 如何在 pyomo.environ 模块下创建二维集合对象

python - docker , flask ,SQLAlchemy : ValueError: invalid literal for int() with base 10: 'None'

python - 如何使用 xlsxwriter 和 python 将图像添加到 xlsx 文件的 header ?

python - 迭代一对可迭代对象,按属性排序

c - 多宿主 TCP 服务器和客户端陷入循环

c - IRC 机器人 : Error - Registration Timeout

Java Socket 类转换异常

python-3.x - 无法让gunicorn使用Python 3

logging - 如何在 flask View 中使用应用程序日志记录,它返回无法导入名称记录器

python - 如何引用KV文件中创建的实例