[英]Send a Data Record through TCP in java
我是Delphi开发人员,最近我决定将我的程序之一移植到Java,并且我正在用Java做服务器端程序,以使其跨平台。
在Delphi中,我可以很容易地通过TCP以字节数组的形式发送记录,但是我没有Java的丰富经验,也不知道如何以简单但适度的方式进行操作。 这是我的数据记录的示例:
type
Tlogin = record
username : string[50];
password : string[50];
version : word;
end;
我只是将它做成字节数组后就发送这种类型的记录。
关于如何在Java中进行此类数据记录以及如何设置字符串大小的任何想法,或者任何更好的建议来处理通过TCP发送它们的字符串。
在Java中,您只需通过客户端和服务器之间的套接字发送对象,就可以通过多种方式来实现。 有关相关参考,请访问
有关更多分步示例,请访问以下链接:
在您的情况下,您的对象将如下所示
class TLogin implements Serializable
{
private String userName;
private String password;
private int version;
//implement your objects methods below
}
对象中您不想参与序列化和反序列化的字段可以标记为瞬态
有关序列化的详细分步示例,请访问Java序列化示例。
根据提供给我先前回复的评论进行编辑。
简单来说就是序列化:这是一种将Java对象转换为字节序列的技术(实际上,该对象的所有字段(除了标记为瞬态的那些字段都是该字节序列的一部分))。 然后,可以使用此字节序列在以后的时间点重建对象。 通过序列化对象所获得的字节序列可以保留到存储区中,也可以通过网络通道传输,以便在以后的阶段重新构建对象。 序列化是Java中使用RMI,Sockets或SOAP的客户端服务器环境中发生的许多通信协议的核心。
在谈到序列化之后,我们来讨论客户端-服务器问题。 如果仅计划将服务器端代码移植到Java,则可以使用以下选项来启用客户端和服务器之间的通信:
但是,我认为第一种方法优于第二种方法,因为
我希望这个冗长的答案可以为您指明解决方案的方向
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.