java 关于报文发送的问题

如何用java代码实现向远程IP地址的目标主机发送 带有SYN| ACK| FIN |URG| PSH 报文
标志的数据包

这个首先要把数据封装到一个类里边,如下面
package com_3;

public class MyData implements java.io.Serializable{

/**
 * 
 */
private static final long serialVersionUID = 1L;
public int getSYN() {
    return SYN;
}
public void setSYN(int sYN) {
    SYN = sYN;
}
public int getACK() {
    return ACK;
}
public void setACK(int aCK) {
    ACK = aCK;
}
public int getFIN() {
    return FIN;
}
public void setFIN(int fIN) {
    FIN = fIN;
}
public int getURG() {
    return URG;
}
public void setURG(int uRG) {
    URG = uRG;
}
public int getPSH() {
    return PSH;
}
public void setPSH(int pSH) {
    PSH = pSH;
}
public static long getSerialversionuid() {
    return serialVersionUID;
}
private int SYN;
private int ACK;
private int FIN;
private int URG;
private int PSH;

}

//当然要发送那么久应该有客户端代码和服务器端的代码
package com_3;
import java.io.*;
import java.net.*;
public class Client {

public static void main(String[] args) {
    // TODO Auto-generated method stub
                    new Client();
}
public Client(){
    try {
        //创建套接字
        Socket s=new Socket("localhost", 8888);

        //获取输出流
        ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());

        //创建数据包,根据不同情况创建不同的数据包
        MyData mydata=new MyData();
        mydata.setACK(aCK);
        mydata.setFIN(fIN);
        mydata.setPSH(pSH);
        mydata.setSYN(sYN);
        mydata.setURG(uRG);


        //发送数据包
        oos.writeObject(mydata);

    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
}

}

服务器端代码:
package com_3;

import java.net.*;
import java.io.*;
public class Server {

public static void main(String[] args) {
    // TODO Auto-generated method stub

}
public Server(){
    try {
        ServerSocket ss=new ServerSocket(8888);

        //获取连接
        Socket socket=ss.accept();

        //获取数据流
        ObjectInputStream ois=new ObjectInputStream(socket.getInputStream());

        //取出数据
        MyData mydata=(MyData) ois.readObject();
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
}

}

对于客户端的Socket s=new Socket("localhost",8888);
以及服务器端的ServerSocket ss=new ServerSocket(8888);
这里的localhost修改为服务器Ip地址,端口号可以根据情况修改。

不知是否是你要的回答。