首页 > 解决方案 > 有没有办法将烧瓶服务器与其他简单的文件传输服务器通信?

问题描述

在文件传输服务器-客户端程序中,我想从 html 网页访问我的服务器,为此我正在使用烧瓶。但我无法将烧瓶与文件传输服务器连接以发送和接收数据。那么从烧瓶服务器访问我的文件传输服务器的方法是什么?

我尝试使用 TCP 套接字在烧瓶和文件传输服务器之间进行连接,但最终出现连接错误

#FLASK SERVER

from flask import Flask, flash, redirect, render_template, request, session, abort
import sqlite3
import socket


app = Flask(__name__)


@app.route('/list',methods = ['POST', 'GET'])
def list():
   socket_create()
   socket_connect()
   db_conn = sqlite3.connect('Backup_File.db')
   if request.method == 'POST':
      cursor = db_conn.execute('SELECT id, Mac_address, port_number from Client_List')
      rows = cursor.fetchall()
      for row in rows:
          print("ID:",row[0])
          print("Mac Address:",row[1])
          print("Port number:",row[2])
      return render_template('list.html',rows = rows)

@app.route('/clientAccess',methods = ['POST', 'GET'])
def clientAccess():
    if request.method == 'POST':
        return render_template('clientAccess.html')




#Connect to a server
# Create a socket
def socket_create():
    try:
        global host
        global port
        global source_port
        global s
        host = '192.168.0.30'
        port = 9993
        source_port = 9000


        s = socket.socket()
    except socket.error as msg:
        print("Socket creation error: " + str(msg))


# Connect to a remote socket
def socket_connect():
    try:
        global host
        global port
        global source_port
        global s

        os.system("freeport 9000")
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind(('0.0.0.0', 9000))
        s.connect((host, 9993))
    except socket.error as msg:
        print("Socket connection error: " + str(msg))


if __name__ == '__main__':
    app.debug = True
    app.run(host = '0.0.0.0',port=5005)

我希望从烧瓶服务器发送“列表”的输出,文件传输服务器应该接收“列表”作为字符串

标签: python-3.xflask

解决方案


推荐阅读