在Java中,您只需通过客户端和服务器之间的套接字发送对象,并且有多种方法可以实现这一点。对于相关的参考,请访问
Sending objects over Java sockets
为了更一步一步例如访问以下链接:
JGuru - Sending objects over a socket
你的情况,你的对象将如下所示
class TLogin implements Serializable
{
private String userName;
private String password;
private int version;
//implement your objects methods below
}
您不想参与序列化和反序列化的对象内的字段对可以被标记为短暂
对于由系列化访问的步骤一例的详细步骤中,基于提供给我的早期反应的评论 Java Serialization Example
编辑。用简单的语言进行序列化:这是一种将Java对象转换为字节序列的技术(实质上,除了那些标记为瞬态的对象的所有字段都是该字节序列的一部分)。然后可以使用该字节序列在稍后的时间点重建对象。通过序列化对象获得的字节序列可以保存到存储器或通过网络通道传输,以便在稍后阶段重新构造对象。 序列化是使用RMI,套接字或SOAP之一在Java内的客户端服务器环境内发生的许多通信协议的核心。
谈到序列化,我们来到客户端 - 服务器问题。 在的情况下,该计划只对端口的服务器端代码的Java,那么你有以下几种选择,使客户端和服务器之间的通信:
- 设计的服务器使用SOAP/REST与德尔福进行沟通客户。
- 使用标题数据结构来扩充记录,该数据结构包含有关正在存储的数据的长度和类型的信息,并在服务器端的客户机传输字节序列中使用此标题来重构对象。
然而,在我看来,第一种方法是因为
- 它在以后的时间点标准的可互操作的technique.If你想端口,客户端一定比第二个好其他语言如C#或Python,您不需要更改服务器。
- 它可以让Web服务的基础设施处理 SOAP/REST的序列化的细节问题,让您专注于业务逻辑
我对解决
“希望这漫长的答案要点,你的方向任何更好的建议来处理通过TCP发送它们的字符串?“。是的,XML,JSON,或Web服务,正如您先前的问题的答案[链接](http://stackoverflow.com/questions/17633951/how-to-handle-a-serialized-object-sent-通过-java的过度TCP)。为什么要序列化数据的具体要求? –