,主要用到Udpclient类以及XmlSerializer类来传输文件和序列化对象。,一下简单介绍该命名空间。,它的中心类是XmlSerializer类,它的功能是将对象序列化到XML文档中和从XML文档中反序列化对象。下面简要介绍序列化对象以及反序列化对象的步骤。(1)序列化对象的步骤:①用XmlSerializer的构造函数创建类的实例(使用要序列化的对象的类型)。②创建要序列化的对象的实例以及创建对象(例如Stream,TextWriter或XmlWriter),以将文件写入文档或流中。③调用Serialize方法将对象转换为XML文档。(2)反序列化对象的步骤:①用要被反序列化的对象的类型构造一个XmlSerializer。②创建读取文档或流的合适的对象(仍然为Stream,TextWriter或XmlWriter)。③调用Deserialize方法反序列化对象。④将结果为对象转换为原始对象类型。以下介绍XmlSerializer类的构造函数和方法。publicXmlSerializer(Typetype):将指定类型的对象序列化为XML文档或反之。其中参数type表示此XmlSerializer可序列化的对象的类型。publicvoidSerializer(Streamstream,objecto):将指定的Stream序列化指定的Object并将XML文党写入文件。其中参数stream表示用于编写XML文档的Stream;参数o表示将要序列化的Object。注意:Serialize方法将对象的公共字段和读/写属性转换为XML,它不转换方法、索引器、私有字段或只读属性。若要序列化某对象的所有字段和属性(包括公共和私有两种),请使用BinaryFormatter。publicobjectDeserialize(Streamstream):将指定Stream包含的XML文档反序列化。其中参数stream是要包含要反序列化的XML文档的Stream。该方法返回正被反序列化的对象。文件传输程序发送端的实现思路是:创建用于存储发送文件的文件类型和大小的类FileDetails。根据接收端的IP地址获取其计算机名,再结合端口号创建UdpClient实例udpClient,然后用FileStream对象fs打开要发送的文件,并检查其长度,如果长度超过8k字节这个最大允许值,则提示,并关闭udpClient以及fs;否则,就用SendFileInfo方法发送文件信息,如果该方法返回值为真,()方法等待2秒钟后,再用SendFile方法发送文件本身。其中SendFileInfo方法填充FileDetails对象的字段,然后用一个XmlSerializer对象将该对象序列化为一个MemoryStream,随后它被读入到一个字节数组钟,并传递给udpClient对象的Send方法中,将文件信息发送给接受端。另外SendFile方法将FileStream中的文件内容读到一个字节数
发送端与接收端 来自淘豆网m.daumloan.com转载请标明出处.