正如标题所说。我正在从我的服务器发送一条消息到一个超出我控制范围的代理,然后将它发送到我的应用程序。我所能做的就是发送和接收字符串。是否可以序列化为普通字符串并以这种方式发送而没有通常的输入/输出流?
TIA
更多信息:
public class myClass implements java.io.Serializable {
int h = "ccc";
int i = "bbbb";
String myString = "aaaa";
}
我有这门课,例如。现在我想序列化它并将其作为字符串发送到我的HTTPpost中并发送给代理,对此阶段无能为力:
HttpPost post = new HttpPost("http://www.myURL.com/send.php?msg="+msg);
然后在另一侧接收msg作为字符串并将其转换回来。
没有很多其他图书馆,这很容易吗?
答案 0 :(得分:2)
是
这是每天使用JSON和XML完成的,只是为了命名一些易于格式化和解析的字符串格式。 (阅读JAXRS以了解使用JSON格式化字符串执行此操作并执行传输的方法。或者,阅读有关格式为XML但不会因字符串通信而停止的JAXB。)
您可以使用CSV格式。
您可以使用字符字段固定。
摩尔斯电码不是一个不同的概念,只是从字符串开始并转换为短而长的哔哔声。
它的工作方式是:
一些注意事项:
如果两台服务器都使用Java(或C#或Python或PHP或其他),则格式化和解析将成为对称的。您从某种类型的Java对象开始,最后在另一个相同类型的JVM中使用Java对象。 但这不是一个给定的。您可以将值存储在一个服务器中的自定义POJO中,将值存储在另一个服务器中。
如果您编写代码进行格式化和解析,只要内容很简单并且您不会违反传输规则,这似乎很容易。例如,如果您发送HTTP get的查询部分,则字符串中不能包含任何&符号。
如果您使用现有的库,您可以利用其他人获得的知识,了解如何正确执行此操作。
如果您对字符串使用标准格式,则很容易解释其他人正在发生的事情。如果您的项目有效,第三台服务器可能希望进入通信循环,如果它受其他人控制......
格式化比解析更容易。其他人已经解决了许多陷阱。如果您这样做是为了学习不做事情和改善自己的知识基础的方法,那么一定要自己动手。如果您想要坚如磐石的性能,请使用现有的标准库和格式。
答案 1 :(得分:1)
看看 XStream 。它序列化为XML,使用起来非常简单。
答案 2 :(得分:0)
是的,这是可能的。您可以使用ajax将字符串序列化为json对象,并使用ajax.post事件(javascript事件)将其返回给服务器。