创建多线程Java服务器和客户端,但消息必须采用XML格式
我必须使用服务器和客户端编写一个多线程聊天程序,但发送的每条消息都必须是XML 仅仅用java编写所有代码,然后尝试并以某种方式修改它以使消息以XMl格式发送,是更简单/更容易,还是仅仅尝试用XMl编写并希望它能工作更简单。我承认我对XML知之甚少。:) 此外,如有任何相关在线帮助/教程的链接,将不胜感激。创建多线程Java服务器和客户端,但消息必须采用XML格式,java,xml,client,Java,Xml,Client,我必须使用服务器和客户端编写一个多线程聊天程序,但发送的每条消息都必须是XML 仅仅用java编写所有代码,然后尝试并以某种方式修改它以使消息以XMl格式发送,是更简单/更容易,还是仅仅尝试用XMl编写并希望它能工作更简单。我承认我对XML知之甚少。:) 此外,如有任何相关在线帮助/教程的链接,将不胜感激。 谢谢。< P>在java中使用XML时,请考虑使用或类似的东西。它允许您使用内存中的普通对象图,然后在一次操作中将其序列化为XML(另一种方式) 通过domapi操纵XML是一种缓慢的失去理
谢谢。< P>在java中使用XML时,请考虑使用或类似的东西。它允许您使用内存中的普通对象图,然后在一次操作中将其序列化为XML(另一种方式) 通过domapi操纵XML是一种缓慢的失去理智的方式,不要为任何数量的XML这样做
我看不出多线程程序或服务器与它有什么关系…有一种叫做XML RPC的东西。下面的示例大致显示了您要查找的内容:
使用现有的XMPP客户端和服务器而不编写自己的客户端和服务器会更简单
如果这实际上是家庭作业,那么我建议按照您的建议编写客户机和服务器,使用所有java,但使用字符串作为消息。然后,当所有其他部分都在工作时,您可以轻松地将字符串的解析添加到XML中或从XML中添加。我建议您也看看Betwixt和Digester。对于Digester,可以在Digister wiki中找到一些教程。Betwixt在其网站上提供了一些非常好的教程 除了这两种工具之外,还可以在“签出”的“参考”部分中找到一系列替代工具。您可以使用它将普通Java对象打包成XML,然后再重新打包成一个对象,而不必做任何像定义接口或指定模式之类的事情。也就是说,对于已经定义的对象,它是现成的。在大多数情况下,它在默认模式下是无缝的 XStream生成Java对象的直接XML序列化表示(即XML元素直接表示Java对象的每个字段)。您可以根据需要进一步定制。如果您想根据模式(XSD)定义持久化对象,那么这是不合适的。然而,如果您正在传输持久性是短期的对象,并且您不担心遵从某种模式,那么它肯定是有用的 e、 g 从XML到
Person
对象的转换也同样微不足道
(注意)您试图将任务分解成更小的部分,这是正确的
Person person = new Person("Brian Agnew");
XStream xStream = new XStream();
System.out.println(xStream.toXML(person));