使用netty4.x 编写TCP服务器关于握手问题

使用netty4.x 编写TCP服务器关于握手问题

还是和机顶盒通讯的项目,netty编写udp的协议已经实现了完毕;

要求TCP也要来一套….我就呵呵了…写呗.

基本上流程差不多,decoder,encoder,handler几乎都可以重用的,写好后一测..吓我一大蹦

[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x2264fc80, /192.168.1.108:50671 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0xe19dd5d6, /192.168.1.108:50672 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x0c6528da, /192.168.1.108:50673 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x627a3d1b, /192.168.1.108:50674 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x38ca0152, /192.168.1.108:50675 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0xd423fe93, /192.168.1.108:50676 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x978e3190, /192.168.1.108:50677 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0xcb219784, /192.168.1.108:50678 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x205d58c1, /192.168.1.108:50679 => /192.168.1.120:5000]
2015-07-25 17:29:45
[INFO]-[Thread: nioEventLoopGroup-3-1]-[io.netty.util.internal.logging.Slf4JLogger.info()]: [id: 0x0bdcf37c, /0:0:0:0:0:0:0:0:5000] RECEIVED: [id: 0x3ba890f4, /192.168.1.108:50680 => /192.168.1.120:5000]
2015-07-25 17:29:45

服务器启动,客户端访问后,控制台瞬间打印出一大堆日志,又没有异常…客户端在进行批量连接,要不是自己写的还以为是攻击呢.

仔细想了想好像没有地方出纰漏,开了wireshark抓了下包,如图:

180748_PuUL_261246.jpg

server 192.168.1.120:5000

remote 192.168.1.108:50404

这是一次完整的请求,顺序依次是(3次握手->数据传输->握手关闭),关闭是服务器主动提出的的(5000->50404)发送的FIN包,非常奇怪,代码中并没有主动关闭连接的地方..

检查代码发现,decoder中解码时因为”\r\n”未处理,提取协议数据时出现异常,异常呢??..因为控制台刷的太快..直接刷过了…

180748_SMBr_261246.jpg

转载于:https://my.oschina.net/u/261246/blog/483707

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109386.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue——二级菜单demo

    vue——二级菜单demo学习了vue,最近想着写一写demo练一练,今天写的二级菜单,中间踩过很多坑1、存数据:最开始想着一级菜单存一个数组,二级菜单存不同的数组。那么问题来了,一级菜单和二级菜单应该是超级相关联的,如果分开存储再去建立关系很麻烦,所以存在一个数组对象中,那么也就是说,不管多少级菜单都可以这样,又方便还不需要我们自己去建立相关关系。2、‘^’的变化,最开始想着不同状态用v-show去操作dom…

    2022年6月1日
    48
  • 数据库引擎错误「建议收藏」

    数据库引擎错误「建议收藏」该表包含错误消息编号和描述,它是sys.messages目录视图中错误消息的文本。如果适用,错误编号是指向更多信息的链接。此列表并不详尽。有关所有错误的完整列表,请使用以下查询查询sys.messages目录视图:SELECTmessage_idASError,severityASSeverity,[EventLogged]=CASEis_event_loggedWHEN0THEN’No’ELSE’Yes’END,textAS[Description]

    2022年7月20日
    14
  • 联合国世界卫生组织(WHO)认为健康的包括哪些方面?_联合国世界卫生组织把健康定义为

    联合国世界卫生组织(WHO)认为健康的包括哪些方面?_联合国世界卫生组织把健康定义为联合国世界卫生组织(WHO)对健康的定义是,即“健康不仅是没有疾病,而且包括躯体健康、心理健康、社会适应良好和道德健康”。由此可知,健康不仅仅是指躯体健康,还包括心理、社会适应、道德品质相互依存、相

    2022年8月1日
    3
  • 第二章:ActiveMQ与spring的整合使用

    第二章:ActiveMQ与spring的整合使用第二章:ActiveMQ与spring的整合使用

    2022年4月23日
    40
  • 常用shell命令归纳总结

    常用shell命令归纳总结

    2022年2月19日
    41
  • 数据库设计——关系数据理论(超详细)「建议收藏」

    数据库设计——关系数据理论(超详细)「建议收藏」问题——什么是一个好的数据库逻辑设计●关系型数据库逻辑设计:➠针对一个具体问题应如何构造一个适合于它的数据模式,即应构造几个关系,每个关系由哪些属性组成等eg:?这样的设计是一个好的设计吗?观察这个表所对应的一个实例(在某个时刻student模式所对应的一个实际的数据情况):如有若干个学生,他们都为’计算机系’,系主任为’张明’,选修了’C1’课程,得到各自的成绩☟☞关系模式STUDENT(Sno,Sdept,Mname,Cno,Grade)中存在的问题:☜1、数据冗余太大,浪费存储空间如

    2022年10月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号