我将用户生成的文件从客户端发送到服务器。这些是序列化的类,然后由服务器读取。
根据我对上述链接的理解,这是危险的。但我尝试过发送一次性类,甚至尝试过实现 ISerilized 的类。但由于服务器不知道源程序集,两者都被拒绝。
[Serializable]
public class Ship : ISerializable
{
public Ship()
{
}
public Ship(SerializationInfo info, StreamingContext context)
{
Console.WriteLine("test");
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
}
}
Run Code Online (Sandbox Code Playgroud)
那么客户端如何通过这个向量成功地将代码获取到我的服务器中呢?通过伪造命名空间名称和公钥导致服务器尝试反序列化它,从而运行上面的代码?还是有更微妙的方法来做到这一点?
不幸的是,这个功能是我游戏的核心基础,所以我要小心。
我试图在一个课程作品上展示多样性,并希望使用<<运算符轻松地将变量添加到列表中.例如:
UpdateList<string> test;
test << "one" << "two" << "three";
Run Code Online (Sandbox Code Playgroud)
我的问题是,每个<<运算符的例子都与ostream有关.
我目前的尝试是:
template <class T> class UpdateList
{
...ect...
UpdateList<T>& operator <<(T &value)
{
return out;
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我是如何实现这一点的,或者在C++中实际上是不可能的?