没有转换器的Spring TCP Client

没有转换器的Spring TCP Client,第1张

没有转换器的Spring TCP Client

删除回复通道是正确的。您没有给出任何错误指示,但是网关接口方法的返回类型必须更改为byte []。

编辑

显然,如果大型机越来越垃圾,那么您做错了什么。在将“
ABCD”转换为

byte[]
(带有
getBytes()
)后,您应该进行EBCDIC转换;如果您在字符串中包含EBCDIC字符,则无法使用。另外,请记住,默认的序列化程序会将CRLF(ascii)添加到输出中。如果该大型机可以根据数据本身确定消息的结尾,则可以
ByteArrayRawSerializer
serializer
属性中使用a
。但是,您将需要自定义,
deserializer
因为框架不会知道如何从流中构造消息。除非主机在发送答复后关闭套接字,否则a
ByteArrayRawSerializer
将作为
deserializer
属性。


与大型机(和其他大型机)通信的常用技术是使用1、2或4字节长的标头(网络字节顺序)。在

ByteArrayLengthHeaderSerializer
做到了这一点。

如果大型机期望使用EBCDIC定界符,则需要一个自定义的序列化器/解串器-在那里进行EBCDIC转换,将其与应用程序逻辑分开可能更有意义。

您可以在此处阅读有关序列化器/反序列化器的信息。

TCP是一种流协议。这意味着必须为通过TCP传输的数据提供某种结构,以便接收器可以将数据划分为离散的消息。连接工厂配置为使用(反)序列化器在消息有效负载和通过TCP发送的位之间进行转换。通过分别为入站和出站消息提供解串器和序列化器,可以实现此目的。提供了许多标准(反)序列化器。

ByteArrayCrlfSerializer
,转换一个字节数组字节流随后回车和换行字符(
rn
)。这是默认的(反)序列化器,例如,可以与telnet一起使用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5142114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存