【发布时间】:2020-03-27 08:56:03
【问题描述】:
我现在遇到的情况阻碍了我的工作进展。
我正在尝试将 Flask 和 Sockets 一起使用,以便在我可以在 Web 浏览器上显示视频源之前检查某个用户是否已连接。
下面是我的代码。
from flask import Flask, render_template, Response, jsonify, request
from flask_socketio import SocketIO
from camera import VideoCamera, SocketConnections
import socket
import pickle
import struct
import new_client as NC #this is a client module
app = Flask(__name__)
video_camera = None
global_frame = None
urlfor_container = ""
HOST = ''
PORT = 5000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print('Socket created')
s.bind((HOST, PORT))
print('Socket bind complete')
s.listen(10)
print('Socket now listening')
c = SocketConnections('127.0.0.1',5000)
c.Establish_Connection()
conn, addr = s.accept()
print('connected workstation ', addr)
data = b'' ### CHANGED
payload_size = struct.calcsize("L") ### CHANGED
# check if the connection was accepted
app.run(host='',threaded=True)
当我运行这段代码时,一切似乎都很好。
====== RESTART: C:\CENTRALIZED_SYSTEM_FILES\OpenCV Demozz\new_cam_serv.py ======
Socket created
Socket bind complete
Socket now listening
test message should print if code was accessed
connected
connected workstation ('127.0.0.1', 59283)
* Serving Flask app "new_cam_serv" (lazy loading)
* Environment: production
[31m WARNING: This is a development server. Do not use it in a production deployment.[0m
[2m Use a production WSGI server instead.[0m
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
但是,当我尝试从 localhost (localhost:5000/127.0.0.1:5000) 访问网页时,我收到“404 Page Not Found”错误。我已经有一个模板文件夹以及 index.html 位于主模块所在的同一文件夹中,但是每次运行此代码时,我仍然会收到 404 消息。
另外,我尝试使用不同的 IP 地址变体,但没有成功,仍然是 404。
你们的任何帮助将不胜感激。谢谢。
编辑:我尝试在底部创建一个 if name=="main" 语句,然后将此代码 sn-p 插入子句中。然后我注意到烧瓶服务器成功运行并且我能够再次浏览该页面,但这是问题所在。在我中断执行之后,那是我的套接字连接代码唯一一次被执行。
所以我现在的问题是……socket 和 Flask 是否可以同时使用?
再次感谢您。
【问题讨论】:
标签: python flask python-sockets