Serialization 如何访问反序列化对象的字段
我有一个c#格式的UDP客户机-服务器应用程序,服务器将序列化对象发送到客户机。 在服务器端,对象被反序列化。现在我的问题是如何访问对象的字段或数据成员? 如有任何建议或帮助,将不胜感激 谢谢 瓦尼 这是发送对象的服务器代码Serialization 如何访问反序列化对象的字段,serialization,udp,deserialization,Serialization,Udp,Deserialization,我有一个c#格式的UDP客户机-服务器应用程序,服务器将序列化对象发送到客户机。 在服务器端,对象被反序列化。现在我的问题是如何访问对象的字段或数据成员? 如有任何建议或帮助,将不胜感激 谢谢 瓦尼 这是发送对象的服务器代码 namespace UDP_Client { [Serializable] class SendObject { public int a; public int b; public int c; public SendObject()
namespace UDP_Client
{
[Serializable]
class SendObject
{
public int a;
public int b;
public int c;
public SendObject()
{
a = 0;
b = 0;
c = 0;
}
}
class ClientSocket
{
static void Main(string[] args)
{
SendObject obj= new SendObject();
obj.a = 100;
obj.b = 200;
obj.c = 300;
MemoryStream memorystream = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(memorystream,obj);
Send(obj.ToString());
}
static void Send(string Message)
{
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPAddress broadcast = IPAddress.Parse("127.0.0.1");
byte[] sendbuffer = Encoding.ASCII.GetBytes(Message);
IPEndPoint ep = new IPEndPoint(broadcast, 10000);
s.SendTo(sendbuffer, ep);
s.Close();
}
}
}
这是从服务器接收对象的客户端。
UdpClient listener=新的UdpClient(listenPort);
IPEndPoint groupEP=新IPEndPoint(IPAddress.Any,listenPort)
如果我理解你的问题。。。你就不能用object.fieldname这个形式吗?不,我试过了。它无法识别字段名。我认为这是因为客户端是一个独立的应用程序。您能发布一些代码,以便我看到您正在尝试做什么吗?
byte[] bytes = listener.Receive(ref groupEP);
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
stream.Seek(0, SeekOrigin.Begin);
Object obj = (Object)formatter.Deserialize(stream);
int val1 = obj.a;//This is what i want to do.