懂JAVA的进!!!急需帮忙~~~

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:30:16
谁能把下面的JAVA程序解释一下,只要做一下注释就可以拉:
class ThreadPacket extends Thread
{
private Packet packet;
private MainFrame mainFrame;
private Connection con=null;
private Statement stmt=null;

public ThreadPacket(Packet packet,MainFrame mainFrame)
{
this.packet=packet;
this.mainFrame=mainFrame;
}

public void run()
{
if (packet instanceof IPPacket) //该数据包为IPPacket
{
IPPacket ipPacket=(IPPacket)packet;
insertIPPacket(ipPacket);
String packetStr="ident:"+ipPacket.ident+"\n协议:IP"+" 源IP地址:"+ipPacket.src_ip+" 目的IP地址:"+ipPacket.dst_ip+"\n内容:"+ipPacket.data;
mainFrame.jTextArea1.append(packetStr+"\n\n");
}
if(packet instanceof TCPPacket) //该数据包为TCPPacket
{
TCPPacket tcpPacket=(TCPPacket)packet;

//看了一下,程序没什么难点.其实没什么好注释的.都很清楚.应你的需要,就写一点吧.
//你给出的程序只是小部分,有很多方法是关连到其他类的方法,你不给出,那只能看方法名称或可能的做法帮你注释了.
//该类的目的就是把数据包分类后插入数据库对应的表里,然后是窗口的文本域里显示出相关信息
//其实不知道你问什么问题,如果有不明白给我发消息

class ThreadPacket extends Thread //线程类
{
private Packet packet; //接口,最少有IPPacket,TCPPacket,UDPPacket,ICMPPacket实现该接口
private MainFrame mainFrame; //窗口类
private Connection con=null; //接口,与特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果
private Statement stmt=null; //接口,用于执行静态SQL语句并返回它所生成结果的对象

//构造方法,传入Packet对象和MainFrame
public ThreadPacket(Packet packet,MainFrame mainFrame)
{
this.packet=packet;
this.mainFrame=mainFrame;
}

//调用start()时
public void run()
{
if (packet instanceof IPPacket) //如果该数据包为IPPacket类
{
IPPacket ipPacket=(IPPacket)packet; //还原为本来的类型
insertIPPacket(ipPacket);//把该数据包插入数据库
String packetStr="ident:"+ipPacket.ident+"\n协议:IP"+" 源IP地址:"+ipPac