Function Python 3.4套接字sendall函数
我的问题是如何向客户端发送函数, 我知道conn.sendall(b“欢迎使用服务器”)会将数据发送到客户端。 它可以被解码 我想知道如何发送一个函数到一个客户端,如 conn.sendall(函数())-这不起作用 我还想知道允许客户端接收我发送的函数的函数Function Python 3.4套接字sendall函数,function,sockets,python-3.x,client,Function,Sockets,Python 3.x,Client,我的问题是如何向客户端发送函数, 我知道conn.sendall(b“欢迎使用服务器”)会将数据发送到客户端。 它可以被解码 我想知道如何发送一个函数到一个客户端,如 conn.sendall(函数())-这不起作用 我还想知道允许客户端接收我发送的函数的函数 我已经在上查找了一个可以执行此操作的函数,但没有找到。除非在客户端显式编码,否则您请求的功能基本上是不可能的。如果这是可能的,你可以写一个病毒,很容易传播到任何远程机器。相反,这是客户以任何方式解码传入数据的权利责任 考虑到客户机确实希望
我已经在上查找了一个可以执行此操作的函数,但没有找到。除非在客户端显式编码,否则您请求的功能基本上是不可能的。如果这是可能的,你可以写一个病毒,很容易传播到任何远程机器。相反,这是客户以任何方式解码传入数据的权利责任 考虑到客户机确实希望接收要执行的代码,问题是代码应以某种形式表示,同时
- 与服务器上下文及其细节分离,可以在任何位置序列化和执行
- 允许在沙箱中安全执行,因为非常罕见的客户端允许任意服务器代码在客户端执行任何操作
多处理
模块:它的工作池实现不会传递代码本身,而是简化了执行请求的数据传递。另外,marshall
和pickle
模块还涵盖了在没有函数的情况下传递任意Python数据
import socket
def functions():
print ("hello")
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = ('192.168.137.1', 20000)
sock.bind(server_address)
sock.listen(1)
conn, addr = sock.accept()
print ('Connected by', addr)
sock.listen(1)
conn.sendall(b"Welcome to the server")