By Edward
Full-Stack Dev
the problem im facing is that from my html/js when i connect the the endpoint provided by the appplatform the connetion just polls and doesnt connect where is i go to the same endpoint where ive got a normal get resp all works, but no the web socket.
any ideas?
from_ flask _import_ Flask, session, render_template, request, \
redirect, url_for, g, send_file, Blueprint, jsonify, make_response, Response
_from_ flask_socketio _import_ SocketIO, emit
_# from flask_cors import CORS
__from_ functools _import_ wraps
_import_ settings
_import_ json
_import_ uuid
_import_ jwt
git_head_hash = uuid.uuid4()
app = Flask(__name__)
app.secret_key = settings.FLASK_SECRET_KEY
socketio = SocketIO(app, cors_allowed_origins='*')
@app.route('/', methods=['GET'])
_def_ status_check():
_return_ "App is active!"
@socketio.on('message')
_def_ handle_message(message):
user_message = message['data']
token = message['token']
_# Your chatbot logic goes here to process the user_message and generate a response
_ bot_response = 'hello there'
emit('response', {'data': bot_response})
_if_ __name__ == '__main__':
socketio.run(app, port=5001, debug=_True_, allow_unsafe_werkzeug=_True_)
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hey,
Your Flask code looks fine, the issue is with how the connection is being made from the client. On App Platform, services are exposed through the app’s domain over port 443 with HTTPS, so when you connect you need to use the wss:// scheme rather than ws://.
For example, instead of:
const socket = new WebSocket("ws://your-app.ondigitalocean.app/socket");
use:
const socket = new WebSocket("wss://your-app.ondigitalocean.app/socket");
That way the WebSocket upgrade happens over TLS and the connection will be established properly.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.