python-3.x - 有没有办法将烧瓶服务器与其他简单的文件传输服务器通信?
问题描述
在文件传输服务器-客户端程序中,我想从 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)
我希望从烧瓶服务器发送“列表”的输出,文件传输服务器应该接收“列表”作为字符串
解决方案
推荐阅读
- azure-blob-storage - 通过浏览器 javascript 生成 Azure blob 用户委托 SAS 的问题
- python - 为什么我无法在 python 上准确地达到那个位置的值
- spring - 关于 Spring 上的事务管理器配置的一些疑问
- python - df[1].mean() 不适用于 df[1].fillna('')
- javascript - 如何在 Discord.js 中获取名称数组
- cloud - IBM Cloud 裸机服务器,添加 vlan
- discord.py - 机器人连接到语音通道,但我收到错误说它没有连接?
- javascript - 编写单独的css和js文件
- cmake - 使用 CMake 处理 Gtkmm 应用程序的 Yelp 文档
- pip - 如何防止 jupyterlab 加载已删除的扩展?