于2011年12月21日 11:22:15,曹朋写到:
> 首先在这里谢谢各位的热情帮助。
> 可能我的问题还有描述清除。
> 但是,从一些朋友的回答当中,已经学到了很多东西。
> 现在的问题:
>
> 嗅探器(抓取数据包)是由libpcap库来实现的,而这个libpcap库是由C实现的。
> 使用C在控制台下完全可以获取一些网络数据包,并分析之。
> 但是,我得需要一个图形界面,故使用了QT来作图形界面。
> 问题,就是出现在了C(也就是libpcap)和QT混合起来;
> 由于在处理网络数据包的时候,使用到了回调函数(已经在上篇邮件当中说明);
> 怎样将这种策略转化为QT当中可使用的方
首先在这里谢谢各位的热情帮助。
可能我的问题还有描述清除。
但是,从一些朋友的回答当中,已经学到了很多东西。
现在的问题:
嗅探器(抓取数据包)是由libpcap库来实现的,而这个libpcap库是由C实现的。
使用C在控制台下完全可以获取一些网络数据包,并分析之。
但是,我得需要一个图形界面,故使用了QT来作图形界面。
问题,就是出现在了C(也就是libpcap)和QT混合起来;
由于在处理网络数据包的时候,使用到了回调函数(已经在上篇邮件当中说明);
怎样将这种策略转化为QT当中可使用的方法。
在 2011年12月21日 上午10:49,Leo Ding 写道:
> QT 的信号
QT 的信号槽使用也很方便,QWidget编程还是挺简单的,如果用QGraphicsWidget写程序的话那一个郁闷啊,不过动画效果能做的很好
在 2011年12月20日 下午8:53,曹朋 写道:
> 问题描述:
> 笔者近日,在做网络嗅探器,其中用到一函数,pcap_loop(pcap_t *,int,pcap_hander callback,u_char *);
> callback参数如下:(u_char *,const pcap_pkthdr *,const u_char *);其作用是,来一个数据
> 包,调用一次callback,来一次调用一次。
> 但,令笔者困
这个用什么语言应该都没有什么问题吧?
最近在用qt写程序,一样在qt的程序中使用xlib、标准c的函数 ……
而且也没有使用什么全局变量。
个人觉得用C++写面向过程的程序的话还不如直接使用C,灵活性更大,要用C写面向对象的程序的话我的头很大,到现在都还没有搞清楚C的面向对象是怎么弄的 ……
在 2011年12月21日 上午10:01,caimouse 写道:
> C++学习不过关。
> 1. 应使用静态类成员作为回调函数。
> 2. 使用参数,或者全局变量传送类实例指针给静态成员函数。
>
> 因为静态类成员变量是全局的生命周期,而类没有实例化,仅是一种类型,不是实 例,因此不能在
C++学习不过关。
1. 应使用静态类成员作为回调函数。
2. 使用参数,或者全局变量传送类实例指针给静态成员函数。
因为静态类成员变量是全局的生命周期,而类没有实例化,仅是一种类型,不是实
例,因此不能在静态成员里访问成员,并且类可以实例多个,如果直接访 问成
员,就会导致全局访问局部的问题。
于 2011/12/20 20:53, 曹朋 写道:
问题描述:
笔者近日,在做网络嗅探器,其中用到一函数,pcap_loop(pcap_t *,int,pcap_hander callback,u_char *);
callback参数如下:(u_char *,const pcap
2011/12/20 曹朋
> 问题描述:
> 笔者近日,在做网络嗅探器,其中用到一函数,pcap_loop(pcap_t *,int,pcap_hander callback,u_char *);
> callback参数如下:(u_char *,const pcap_pkthdr *,const u_char *);其作用是,来一个数据
> 包,调用一次callback,来一次调用一次。
> 但,令笔者困惑的是,这个callback并不能被定义成类的成员,一旦定义成类的成员,编译便会报错
> argument of type‘void (classname::)(u_char *,c
问题描述:
笔者近日,在做网络嗅探器,其中用到一函数,pcap_loop(pcap_t *,int,pcap_hander callback,u_char *);
callback参数如下:(u_char *,const pcap_pkthdr *,const u_char *);其作用是,来一个数据
包,调用一次callback,来一次调用一次。
但,令笔者困惑的是,这个callback并不能被定义成类的成员,一旦定义成类的成员,编译便会报错
argument of type‘void (classname::)(u_char *,const pcap_pkthdr *,const
u_c