星期二, 一月 30, 2007

回家了,觉得挺爽的。

呵呵,今天回家了。晚上好好睡一觉,嘿嘿。开心的过几天吧~~

星期四, 一月 18, 2007

终于考完三门了

到早上结束的时候软件构架考完了,嘿嘿,终于只剩下网络了。
恩,下午玩了一个下午的游戏,嘿嘿,从明天开始看书,还有六天,问题应该不大。
哈哈,考完就爽了~~

星期六, 一月 13, 2007

看内核分析看到晕

选修课也看成这样,我郁闷了,明天千万要过呀~~@@,陈老师最近也是心情好呀~~孩子刚生出来,呵呵,希望大家皆大欢喜。

上自习前,祈祷一下,@,明天考试了。。。


休息时间开始有一群人在踢毽子了,呵呵,好现象,该不是大三的吧,以前都没有见过这样玩的。嘿嘿,看书去了,希望今天能把内核主体框架理一遍,明天考试不要出太大问题。嗯,加油。

星期六, 一月 06, 2007

LINUX下获取IP地址和MAC地址

#include stdio.h
#include sys/types.h
#include sys/param.h
#include sys/ioctl.h
#include sys/socket.h
#include net/if.h
#include netinet/in.h
#include net/if_arp.h
#ifdef SOLARIS
#include
#endif
#define MAXINTERFACES 16
main (argc, argv)
register int argc;
register char *argv[];
{
register int fd, intrface, retn = 0;
struct ifreq buf[MAXINTERFACES];
struct arpreq arp;
struct ifconf ifc;
if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) >= 0)
{
ifc.ifc_len = sizeof buf;
ifc.ifc_buf = (caddr_t) buf;
if (!ioctl (fd, SIOCGIFCONF, (char *) &ifc))
{
//获取接口信息
intrface = ifc.ifc_len / sizeof (struct ifreq);
printf("interface num is intrface=%d\n\n\n",intrface);
//根据借口信息循环获取设备IP和MAC地址
while (intrface-- > 0)
{
//获取设备名称
printf ("net device %s\n", buf[intrface].ifr_name);

//判断网卡类型
if (!(ioctl (fd, SIOCGIFFLAGS, (char *) &buf[intrface])))
{
if (buf[intrface].ifr_flags & IFF_PROMISC)
{
puts ("the interface is PROMISC");
retn++;
}
}
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
//判断网卡状态
if (buf[intrface].ifr_flags & IFF_UP)
{
puts("the interface status is UP");
}
else
{
puts("the interface status is DOWN");
}
//获取当前网卡的IP地址
if (!(ioctl (fd, SIOCGIFADDR, (char *) &buf[intrface])))
{
puts ("IP address is:");
puts(inet_ntoa(((struct sockaddr_in*)(&buf[intrface].ifr_addr))->sin_addr));
puts("");
//puts (buf[intrface].ifr_addr.sa_data);
}
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
/* this section can't get Hardware Address,I don't know whether the reason is module driver*/
#ifdef SOLARIS
//获取MAC地址
arp.arp_pa.sa_family = AF_INET;
arp.arp_ha.sa_family = AF_INET;
((struct sockaddr_in*)&arp.arp_pa)->sin_addr.s_addr=((struct sockaddr_in*)(&buf[intrface].ifr_addr))->sin_addr.s_addr;
if (!(ioctl (fd, SIOCGARP, (char *) &arp)))
{
puts ("HW address is:");
//以十六进制显示MAC地址
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)arp.arp_ha.sa_data[0],
(unsigned char)arp.arp_ha.sa_data[1],
(unsigned char)arp.arp_ha.sa_data[2],
(unsigned char)arp.arp_ha.sa_data[3],
(unsigned char)arp.arp_ha.sa_data[4],
(unsigned char)arp.arp_ha.sa_data[5]);
puts("");
puts("");
}

#else
#if 0
/*Get HW ADDRESS of the net card */
if (!(ioctl (fd, SIOCGENADDR, (char *) &buf[intrface])))
{
puts ("HW address is:");
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)buf[intrface].ifr_enaddr[0],
(unsigned char)buf[intrface].ifr_enaddr[1],
(unsigned char)buf[intrface].ifr_enaddr[2],
(unsigned char)buf[intrface].ifr_enaddr[3],
(unsigned char)buf[intrface].ifr_enaddr[4],
(unsigned char)buf[intrface].ifr_enaddr[5]);
puts("");
puts("");
}
#endif
if (!(ioctl (fd, SIOCGIFHWADDR, (char *) &buf[intrface])))
{
puts ("HW address is:");
printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[0],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[1],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[2],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[3],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[4],
(unsigned char)buf[intrface].ifr_hwaddr.sa_data[5]);
puts("");
puts("");
}
#endif
else
{
char str[256];
sprintf (str, "cpm: ioctl device %s", buf[intrface].ifr_name);
perror (str);
}
} //while
} else
perror ("cpm: ioctl");
} else
perror ("cpm: socket");
close (fd);
return retn;
}
编译:gcc 文件名即可

星期三, 一月 03, 2007

写在年前~~

这几天惶惶不可终日,始终在看书,看书~~不是因为兴趣,而是在担心期末考会过不了。
07了,再半年我就毕业了~~顺利的话,我就该去研究时态数据库了,不晓得是什么东西,
但终究还是要去看的。就在这个寒假吧。
前几天,做网络实验,写了个linux聊天室,参考着别人成型的系统构架,跟同学一起写了一个架构还算严谨的软件,但也才发现,其实我还是不懂什么是编程,搞不太清楚那是什么样的面向对象,搞不懂框架该怎么仔细去设计。也许该多做点东西吧?但心里却又有点不太甘愿,想着往那个方向发展,该是会怎么样的一个光景呢?会不会一辈子就干苦力了?其实心里还是向往着同样的东西的,不然也不会一直这样的努力了。
其实,还是搞不懂,什么样的生活是我想要的,搞学问不知道我适不适合?
晚上回来前,看了道题目,求矩阵内最大子矩阵和,果然是不懂,想着,暴搜?
后来问了一下,才恍然大悟,原来是动态规划~~一学期的算法白学了!!!
好读书,而不求甚解~~我的弱点。
唉~~路啊,路啊~~一年又一年。
加油吧~~

星期二, 一月 02, 2007

元旦~~新年快乐。。。搓了两顿~~




班搓~~私搓~~上火时肯定的了,等死吧~~

星期日, 十二月 10, 2006

星期五, 十二月 08, 2006

星期六, 十一月 25, 2006

星期三, 十一月 22, 2006

星期五, 十一月 03, 2006

中午十二点



狂努力的大三啊,中午过去看了一下,下午有课,但十二点就已经在那倒下一大片了。。。汗。

星期四, 十一月 02, 2006

以前呆的实验室一出来的门口。

院学生会换届报告会

晚上院又办了一次换届报告会,邀请院领导参加。听了一个半小时的报告,最后领来了一张任职证书,@_|||。呵呵,再次感觉到已经卸任,盖棺定论了,连认证书都给你了。。。哈哈。

星期一, 十月 30, 2006

今天去跑步了,
沿着海边。
刚好碰上了涨潮,
风也很大,
海浪刚好可以拍上堤岸,
延绵几公里,
体验得到海的振荡。
由衷感叹,
似乎我错过了一些美丽。

回程,
刚好碰上路边放旧式的电影,
好奇的看着那陈旧的机子,
一卷卷厚重的带子,
一排排整齐的石条凳子,
还有就是凳子上那怀旧的老者。
觉得,
日子就随着那胶卷流逝,
人就在那荧幕上慢慢老去。

然后,
开始担心,
不再会有悠闲的心情,
来细细品味四周的美。

也许,
是时候体验下这城市的美了。

星期日, 十月 29, 2006

九寨漾碧

前天又去了一次川香兔,哈哈,原因很简单,上次去的时候正值中秋,支色子博到了60元的抵用劵。哈哈,月底就过期了,不来就浪费了。呵呵,战局从六点多一直持续到九点多,陆陆续续总共来了13个人。哈,大部分还是去年一起支教的一伙。感觉还不错。

星期五, 十月 27, 2006

这几天脆得很

早上就鼻塞,难受,五点就爬起来,喝开水,看血色浪漫。。。
一直看到早上十点去上课,中间还顺便去网上报考了研究生方向。
嘿嘿,明早就跑邮局去,把登记表给寄了。。。事情就都完工了。
今天看书狂慢,真搞不懂,用英文教材,老师授课速度又狂快,有点跟不上了。
累阿,睡觉去了。。。嘿嘿,最近睡眠都很有保障阿。哈哈。