首先,因为新的平台是在idea上面开发的,开发的需求有如下:

1、需要接入多个通信协议(多个客户,不同的通信协议,不同的报文格式,对于这个如何处理);

2、需要处理并发事件;

 

前期准备:

1、java下有什么开源框架?netty?

2、如何处理粘包问题?

3、关于同步、异步问题:并发,这几个概念如何理解?

4、Netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。

5、如何理解spring框架和Netty框架的区别?框架里可以嵌套框架?

6、对于TCP服务器,关于IP和端口号的理解,我一直有个比方:要把快递送到某个人住址,那这个时候需要知道那栋楼、哪个房间(而IP相当于那栋楼的位置或具体楼号、端口相当于住在哪个房门号)

还有哪些疑问,先罗列下来,待开发框架时候一一解决:

1、设备日志如何按照站点、按照桩、按照日期进行划分;

2、然后平台的错误日志归入另外的文档,按照时间进行划分(如果可以,再按照桩进行划分);

3、如何测试高并发性?

4、如何在idea下创建web项目、Tcp server还有客户端程序项目?

5、分布式如何理解?

6、如何理解一台服务器的并发性?或是说,一个服务器可以接受多少个客户端连接?

关于tcp server,最关键是对操作系统原理及网络方面的理解,比如并发、比如TCP等

7、netty除了可以用于tcp server外,还可以用在哪里?

8、netty是否开源?

9、用了netty之后是不是不用担心粘包等常见问题?

 

根据目前的需求先整理下大致的流程:

1、设备进行TCP连接;

2、设备发送通信报文进行登陆;如果该设备在1分钟内未发送任何报文,则断开连接;

3、判断通信报文的格式属于哪个通信协议版本?如果不属于现有格式,则判断为报文非法,并断开连接;