我想请问一下:
如果服务器和客户端进行Socket通信
客户端和服务端定义相同的类如
Class person
{
private String name;
private Stirng sex;
private int age;
......
}
那么客户端Person类声明的对象p,是否能够发送到服务端,并且用服务端的Person声明的对象来接收,
如果可以,如何实现?
如果不行,用什么方法可以达到相同效果?
(如果能有简单的代码说明,求之不得!)
谢谢!
如果服务器和客户端进行Socket通信
客户端和服务端定义相同的类如
Class person
{
private String name;
private Stirng sex;
private int age;
......
}
那么客户端Person类声明的对象p,是否能够发送到服务端,并且用服务端的Person声明的对象来接收,
如果可以,如何实现?
如果不行,用什么方法可以达到相同效果?
(如果能有简单的代码说明,求之不得!)
谢谢!
public static byte[] ObjectToBytes(object p_Object)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _Formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
MemoryStream _Memory = new MemoryStream();
_Formatter.Serialize(_Memory, p_Object);
return _Memory.GetBuffer();
} public static object BytesToObject(byte[] p_ObjectBytes)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter _Formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
MemoryStream _MemStr = new MemoryStream(p_ObjectBytes);
return _Formatter.Deserialize(_MemStr);
}
来转换也可以序列化成XML另外你也可以使用结构体来传递.
(1)客户端Person对象p进行序列化->字节流
(2)将字节流通过Socket发送到服务器
(3)服务器将字节流反序列化->Person对象p
byte流:可加密
xml:明文