做自己的Socket网络通信框架【测试篇-remotecmd】

在上一篇里面讲讲了一个简单测试例子,今天讲一个比较靠近实际的应用的例子 remotecmd(在包com.susu.test.nio.remotecmd),远程命令行。测试程序设计思想,在在客户端输入一个命令,发送给服务器执行,然后服务器把执行结果返回给客户端显示。程序流程如下:

1.写一个CmdLine类实现两个功能一个是做为客户端从控制台读取命令,一个功能是作为服务器执行命令返回执行结果。

2.编写几个重要的类服务器输入过滤器 ,客户端输入过滤器,和输出过滤器,客户端和服务器端的启动类。

3.服务启动在9000进行监听

4.客户端连接服务器的9000端口,当客户端连接成功既框架回调ClientInputFilter的onCreateSession方法,在这个方法里面new一个 CmdLine类,从控制台读取数据,都到数据以后通过session发送给服务器执行。

5.服务器在接收到客户端连接以后 既框架回调ServerInputFilter的onCreateSession方法,在这个方法里面建new一个 CmdLine类(这里只是写简单的测试程序,如果有多个客户端连接上来的话,这里显然就有问题) ,服务器在onReceiveMessage里面收到数据时,调 CmdLine类的execCmd方法执行收到的命令,并吧执行结果发送回客户点。

6.客户端收到服务器的执行结果 onReceiveMessage方法里面进行显示执行结果。

下面就是测试类的代码实现:

CmdLine.java


ClientInputFilter.java

 

ServerInputFilter.java

TestOutputFilter.java

ServerTest.java

ClientTest.java


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值