所以我正在學(xué)習(xí)套接字,特別是客戶端服務(wù)器網(wǎng)絡(luò),我的一個(gè)問題是是否可以通過套接字發(fā)送函數(shù)?我知道你可以這樣做:#class containing function, called printing_classprint.pyclass printing_class(self):def print(self): print("hello world")#server.pyfrom print import printing_classprint = printing_class(self)server.send(print) #pseudocode for send statement, sending print object#client.pyprint = client.receive() #pseudo code for print and receiveprint.print() # by doing this, prints out hello world通過發(fā)送一個(gè)對象,我可以訪問它的方法然后打印它。但是,我想知道是否有辦法做到這一點(diǎn):#server.pyserver.send(print("hello world"))#client.pyclient.receive() # when receiving from server, automatically prints it是否可以通過套接字發(fā)送打印函數(shù),當(dāng)客戶端收到它時(shí),它會自動打印它?
1 回答

搖曳的薔薇
TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
它可以使用名為RPyC 的庫來實(shí)現(xiàn)。
rpyc_classic.py
為簡單服務(wù)器運(yùn)行包含的腳本(僅用于測試)。使用客戶端連接到它并發(fā)送您想要執(zhí)行的 python 代碼。
例子:
import?rpyc c?=?rpyc.classic.connect("localhost")?#?connect c.execute("print('hi?there')")???#?print?"hi?there"?on?the?host
rpyc 的眾多功能之一是您可以限制要執(zhí)行的函數(shù)(或者您可以自己定義它們),以免導(dǎo)致安全漏洞。
添加回答
舉報(bào)
0/150
提交
取消