你的位置:首页 > Java教程

[Java教程]动手编写Java NIO Socket测试工具

最近一年接触到些使用Java NIO编写的服务器程序,客户程序通过建立Socket连接并发送消息的方式调用服务端提供的交易接口。

开发的时候通常需要发些消息来调试程序,所以自己动手写了个工具。工具使用Swing编写,主要作用就是向指定的IP、端口发送请求消息,并接收响应消息。非常简单,但是足够了。

 

源代码涉及到以下内容:

(1)Java Swing编程中的EDT线程与任务线程,在后台任务线程中执行耗时操作,并在适当的时候更新UI;

(2)提供一种Swing界面的构造方式:构造Component、加载数据、添加Listener;

(3)GridBagLayout使用;

(4)使用TitledBorder创建类似于GroupBox效果的控件;

(5)通用的UIUpdater类,供后台线程更新UI,解耦合后台线程和UI Component(可以更加完善);

(6)因为Swing API大多不是线程安全的,所以将所有对UI的更新都放到EDT线程,包括Main函数中创建顶层JFrame的代码;

(7)NIO SocketChannel发送和接收消息;

(8)不知道消息长度的情况下,循环读取写入的整个消息;

 

运行界面如图:

 

源代码和Jar包见下面附件,同时提供一个简单的EchoServer。

点击下载