第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

與服務(wù)器上運(yùn)行的 python 腳本保持通信

與服務(wù)器上運(yùn)行的 python 腳本保持通信

冉冉說 2023-05-23 15:28:13
這是我到目前為止開發(fā)的。首先,我的 websocket 服務(wù)器:// app.jsconst spawn = require('child_process');const WebSocket = require('ws')const wss = new WebSocket.Server({ port: 8080 })wss.on('connection',ws => {  ws.on('message', message => {    const python = spawn('python', ['-u', 'main.py', message])    python.stdout.on('data', function (data) {      // Pipe data from python script ...      dataToSend = data.toString('utf8');      ws.send(dataToSend)     });     python.on('error', err => {       console.log(err)     })  })  ws.on('close', () => {    console.log('Client has disconected')  })}).on('error', err => {  console.log(err)})它的基礎(chǔ)知識(shí)用于child_process生成一個(gè)傳遞message從客戶端發(fā)送的 python 腳本。 -u傳遞是為了刷新 python 腳本打印,因此它可以流出python.stdout并發(fā)送到客戶端。這是從 app.js websocket 服務(wù)器調(diào)用的我的 python 腳本:# main.pyimport time, sysi = int(sys.argv[1])while i > 0:    print(i)    i-=1    time.sleep(1)    # this while is just anexemple of some pre-script process    # (for exemple, signin on user account)# after signin...print('input something from client: ')x = input()while True:    print(x)    time.sleep(1)    # use input x variable    # here is where my code happens and the program keeps executing    pass如您所見,我正在使用從服務(wù)器message傳遞過來的信息spawn()來保持我的第一個(gè)while存活。這只是一個(gè)例子,我需要用戶提供這種輸入。保持你的注意力,x = input()因?yàn)檫@是我的主要問題最后,我的客戶端 websocket// client.jsconst WebSocket = require('ws');let socket = new WebSocket("ws://localhost:8080");socket.onopen = function(e) {    let someClientInfo = 2    console.log("sending data...");    socket.send(someClientInfo);};當(dāng)然,當(dāng)客戶端收到最后一行時(shí),它會(huì)一直卡住,因?yàn)樗麩o法從他這邊輸入任何內(nèi)容。他剛剛收到來自 python 的輸出流。有人知道是否可以將第二個(gè)輸入傳遞給我正在運(yùn)行的 python 腳本嗎?我開始認(rèn)為這也許是不可能的,但我不能考慮另一種方法來做到這一點(diǎn)。如果是child_process做不到的事情,我應(yīng)該尋找什么方法?我的主要目的是與服務(wù)器上運(yùn)行的 python 腳本保持有效通信,以便我可以將此輸入從客戶端傳遞給 python。我希望能夠斷開與該套接字的連接,然后再次連接并繼續(xù)接收 python 腳本輸出。到目前為止,我也找不到辦法做到這一點(diǎn)。我的主腳本不能在服務(wù)器代碼中(也許如果你對(duì) flask 的基本實(shí)現(xiàn)或類似的東西感到困惑),因?yàn)槲蚁M軌騿?dòng)多個(gè)腳本并且每個(gè)客戶端用戶都應(yīng)該能夠與他自己的 python 腳本在服務(wù)器上運(yùn)行。每個(gè)用戶都會(huì)有自己的main.py到目前為止,我還沒有考慮如何讓所有這些進(jìn)程在服務(wù)器上運(yùn)行,或者即使這樣做是安全的。對(duì)此的任何建議都將非常感激,我也將非常感激。
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可能想查看https://www.npmjs.com/package/python-shell 您可以在節(jié)點(diǎn)上生成一個(gè) python 實(shí)例。



查看完整回答
反對(duì) 回復(fù) 2023-05-23
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)