需要的是有一个特定的端口,它允许多个TCP客户端连接到其上运行的骆驼(米娜/ Netty的)基于TCP服务器。要流式传输的内容在文件中可用,并且TCP服务器必须将文本文件中的每一行发送到其中一个连接的客户端(循环赛)。Apache的骆驼基于TCP流光
有人可以帮助我完成骆驼路线的轮廓吗?
此外,也可以进行节流每连接的客户端实例100 MSG /秒的流速度?
在此先感谢。
MK
需要的是有一个特定的端口,它允许多个TCP客户端连接到其上运行的骆驼(米娜/ Netty的)基于TCP服务器。要流式传输的内容在文件中可用,并且TCP服务器必须将文本文件中的每一行发送到其中一个连接的客户端(循环赛)。Apache的骆驼基于TCP流光
有人可以帮助我完成骆驼路线的轮廓吗?
此外,也可以进行节流每连接的客户端实例100 MSG /秒的流速度?
在此先感谢。
MK
我已经做了这样的事情。不完全符合你的要求,但我可以就如何开始提出一些建议。
让使用MINA组件这条路,因为我曾与Netty的组件的一些问题看这个链接Exception thrown from Apache Camel Netty Consumer When more than one client sends data。显然这已被修复,但随着我的项目被取消,我再也没有测试过它。
所以从你的描述,这将是一个文本行的协议为这个简单的路线是这样的DSL
<route>
<from uri="mina2:tcp://localhost:5555?textline=true"/>
<to uri="bean:fileProcessing"/>
</route>
这条路线将打开一个监听套接字在本地主机端口5555的路由也设置为使用文本行编解码器。文本行编解码器本质上是一行文字终止的行尾字符,即\n
。如果你打算使用一些其他的协议,你需要考虑以下项目:
您可以在fileProcessing
bean中实现一些逻辑以发回回复。但是,当客户准备好换新线时,客户需要申请。根据我的理解,这是一个请求回复场景。但是从我所看到的情况来看,只有当有消息从客户端进入服务器时才会激活路由。
可能有发起从服务器发送的方式,但你需要与自己得到它做我没有做过类似的事情自己做实验。
关键阅读内容如下。
我的建议是开始这样的基本路线,然后扩大你的逻辑,然后你可能遇到的问题回来。
UPDATE:
所以我做了这个一个小小的研究,它似乎没有能够从服务器向客户端发送事件不遵循下列模式INONLY和INOUT之一。
然后尝试使用MINA或Netty。