Java 如何将突发数据打包成连续拨号式连接?

Java 如何将突发数据打包成连续拨号式连接?,java,packets,dial-up,Java,Packets,Dial Up,我正在从事一个项目,在这个项目中,我需要从铱星转换突发数据(范围为300字节)。这意味着要替换拨号连接,因此我需要从短突发中获取这些突发数据,并将它们转换为拨号连接的连续流 我是一个相对缺乏经验的程序员,我只知道java语言 我如何转换数据?是否有关于信息包类型如何操作以及如何在java中操作它们的背景资料 [为清晰起见进行了编辑] EDIT2:我不需要将数据转换成另一种方式(从流到块)您的问题不清楚您是在编写与铱星收发器通信的软件,还是在服务器端,但我假设您是在客户端,因为,从他们的网站来看,

我正在从事一个项目,在这个项目中,我需要从铱星转换突发数据(范围为300字节)。这意味着要替换拨号连接,因此我需要从短突发中获取这些突发数据,并将它们转换为拨号连接的连续流

我是一个相对缺乏经验的程序员,我只知道java语言

我如何转换数据?是否有关于信息包类型如何操作以及如何在java中操作它们的背景资料

[为清晰起见进行了编辑]


EDIT2:我不需要将数据转换成另一种方式(从流到块)

您的问题不清楚您是在编写与铱星收发器通信的软件,还是在服务器端,但我假设您是在客户端,因为,从他们的网站来看,服务器端是标准的IP网络

该程序使用RS-232接口和AT(调制解调器)命令集与收发器通信。使用Java,您将需要某种串行库;我在这方面有着丰富的经验,特别是在一个管理调制解调器组的项目中,该组调制解调器将其通信连接到IP网络,当时唯一有效且稳定的通信包是。另一个可能可行的选择是,几年前我使用它时,它不稳定,每隔几天就会使JVM崩溃。使用这两种方法中的任何一种,您都可以(并且应该)将自己约束到,这将使您能够轻松地切换出串行库

一旦您与串行端口通话,操作收发器应与操作调制解调器相同,您需要参考doco了解详细信息。如果它忠实于调制解调器,它将以命令和数据两种模式操作它。在命令模式下,您在xxx处发送由CRLF终止的命令。当您处于数据模式时,您正在发送二进制数据

二进制数据的结构几乎肯定是由铱系统决定的,你需要遵守它;再次看到他们的文档

如果您有权定义自己的数据协议,或者如果您的协议上有自由格式的消息,我的最佳建议是使消息具有逻辑关键字/值对,以确保长期的灵活性。如果您空间有限(而且Iridiums设备的大小限制似乎相当严格),您可以预定义关键字(由客户端和服务器商定),并发送一个二进制整数,而不是UTF-8或ASCII字符串。协议应该包括或推断一个非常基本的类型,以便尽可能地压缩数值,尤其是数值


不管怎样,我希望这能给你一些方向和想法。。。请随时通过评论提问,特别是有关使用Java串行端口的特定问题。

您的问题不是很清楚。你到底想从什么转换,转换到什么?你不能直接将字节写入输出流吗?它是将字节内部分组为数据包并管理拨号连接的低级机制的流。您是否需要向两个方向移动(即也获取数据并将其以300字节块的形式释放?)