netty如何既能接收tcp协议数据,又能接收http协议数据?

村西埋个地雷 发布于 2016/09/22 19:50
阅读 1K+
收藏 0
如题,netty如何既能接收tcp协议数据,又能接收http协议数据?tcp是单片机发来的,http是app发送的,谢谢!
加载中
1
ksfzhaohui
ksfzhaohui

1.启动一个端口,分析接受的包是不是http协议,是和不是分别处理

2.启动2个端口

ksfzhaohui
ksfzhaohui
回复 @村西埋个地雷 : 好的
村西埋个地雷
村西埋个地雷
回复 @ksfzhaohui : 可以了 谢谢您 我之前搞错了
村西埋个地雷
村西埋个地雷
回复 @ksfzhaohui : 我先让这个服务器类继承接口类了,但是我不会在里面处理两种编解码。 里面只有一个run方法,run方法里面是public void initChannel(SocketChannel ch) throws Exception 。我需要new出来两种是不同的,但是不知道怎么做。。。
ksfzhaohui
ksfzhaohui
回复 @村西埋个地雷 : new Thread(new Server1()).start(); new Thread(new Server2()).start(); 类似这样
村西埋个地雷
村西埋个地雷
回复 @ksfzhaohui : 研究了一天 还是不会多线程启动两个ServerBootstrap。。。求助
下一页
0
ChangeZ
ChangeZ
开两个端口就可以了吧,一个处理tcp一个处理http,netty两种服务都支持的。
村西埋个地雷
村西埋个地雷
回复 @ChangeZ : 哦哦!谢谢您!
ChangeZ
ChangeZ
回复 @村西埋个地雷 : https://www.oschina.net/question/2852444_2190560 你的问题和这个很类似啊。至于怎么实现,你可以用搜索结果的吧?
村西埋个地雷
村西埋个地雷
那您的意思是在main函数里,做两个port,然后再 new server().bind()两次是吗?
0
DuLerWeil
DuLerWeil
官方示例代码中有一个介绍根据magic code区分在同一端口上接收两种协议数据的例子
bugzzzzz
bugzzzzz
回复 @村西埋个地雷 : 楼主。。怎么解决的
村西埋个地雷
村西埋个地雷
回复 @DuLerWeil : 真的太谢谢您了!
DuLerWeil
DuLerWeil
回复 @村西埋个地雷 : 传输层协议,你能看到的99.9%都属于两类TCP或UDP,其它任何协议都是它们之上的应用层协议。 HTTP/Factorial都是TCP之上的应用层协议。 针对你的问题,本身只需回答“可以”两个字。以上这些废话只是好意指条路。
村西埋个地雷
村西埋个地雷
回复 @DuLerWeil : 嗯嗯 找到了 我看它是这么写的 (HTTP and Factorial) using only one port ,所以tcp也可以是么?
DuLerWeil
DuLerWeil
回复 @村西埋个地雷 : 以及io.netty.example.portunification.PortUnificationServer
下一页
0
风见

我也想这么实现一下,能讲一下具体的思路吗

0
风见

官方有一个介绍根据magic code区分在同一端口上接收两种协议数据的例子,是哪一个例子呢@DuLerWeil

0
z
zysu1993

题主好,能讲下具体实现的思路吗,也是做硬件遇到了相同的问题。

0
hehe1314baby
hehe1314baby

楼主解决问题没有,求方法

返回顶部
顶部