【发布时间】:2013-01-26 01:59:28
【问题描述】:
我目前正在用 Java 编写 TCP/IP 客户端。客户端应该能够做的唯一一件事就是运行服务器发送给它的代码。 我见过this question,但我的问题是代码会像另一个应用程序一样运行,但是如果客户端代码包含一个字符串并且服务器发送一条消息说,读取字符串并发回内容,那么客户端将无法这样做,因为该代码将在另一个不存在该字符串的程序中执行:-(
那么有没有一种方法可以让我从输入中运行代码,就像它是写在程序的源代码中一样?
非常感谢所有帮助:-)
例子:
客户端包含一个字符串“string0001”。 客户端应该运行服务器发送的代码。 服务器发送一个客户端应该能够执行的java代码块。 代码说:检查字符串的内容并将其发送回这个ip。 客户端现在应该能够读取字符串并将“string0001”发送回服务器 ip。
使用链接提供的解决方案,服务器发送的代码将像另一个程序一样执行,并且在该程序中服务器请求客户端读取的字符串不存在。
客户端现在可以运行代码,就像它是在客户端源中编写的一样,字符串存在。
希望有所帮助:-)
【问题讨论】:
-
你能不能把这个分成几个步骤,一个一个地,详细说明客户端和服务器之间的数据流。目前这很难遵循。我敢肯定这是一个好问题,但你冒着被否决票的危险。
-
请举个具体的例子。客户端代码中的字符串示例是什么?
-
这听起来像是一场安全噩梦......
-
您确定需要运行任意代码,而不是在客户端拥有服务器可以调用的函数吗?
-
我敢肯定,这不是一场安全噩梦,因为服务器和客户端之间的连接是加密的,并且服务器已经过验证 :-) 我添加了一个示例 :-)
标签: java