请问下,text协议的端口,为什么能用http协议访问,我该如何调整。

0

开启了 text协议的端口 5778,5779用于内部通信,但是用http协议也能访问,如图:
截图


截图


该如何调整。

已邀请:

blogdaren - 专注C编程、PHP内核、LINUX、VIM【http://www.phpcreeper.com】

赞同来自: xiyang

1、先说下为什么能用http协议访问:
text协议要求是发送来的数据包只要碰到换行符\n、那就认为是一个完整的数据包、再看http协议的请求包过来以后其请求头和请求行都是符合text协议的解析要求、所以看上去好像就是跨协议访问了一样,但是这受限限于不同的客户端解析实现;http协议和text协议是完全不同的协议、而且http协议的请求和响应也有自己严格的封包要求、比如你用浏览器客户端去访问基于text协议的服务发现明显是无法正常解析的。
2、可能措施有:
比如是内网那就将监听地址切换为内网IP、或者是从防火墙层面进行协议过滤、也可以在onMessage里面进行协议scheme解析拦截处理等等
3、最后服务端监听了什么协议、那客户端必须配套用什么协议来访问,这就好比我讲中文你和我讲西班牙语、偶尔彼此能听懂两句、说的多了终究还是都听不懂。

要回复问题请先登录注册