---- On Fri, 27 Jul 2012 02:51:02 -0600 qiang.huang<qiang.huang@xxxxxxxxxx> wrote ----
> It's no problem for us to write a "dissector Plugin" to dissect one or
> more packets for a special protocol.
>
> But we find that it's nearly impossible to use it to save its stream
> data for its serials of packets without repeating.
>
> As long as a user refreshes or clicks the wireshark's packet tree for
> some detailed informations, the dissector function will be called again.
The best solution would be to make another way to export the data in the fashion that the File -> Export Objects works (see ui/gtk/export_object.c and ui/gtk/export_object_http.c and epan/dissectors/packet-http.c for an example). If you need to do it only from the dissector, you can use the PINFO_FD_VISITED(pinfo) macro (which checks the pinfo->fd->flags.visited variable) to see if that packet was already dissected by Wireshark and only export if that variable is false.