LinuxÄÚºËÐźÅÁ¿ºÍ¶¨Ê±Æ÷ÎÊÌâÇë½Ì£º
ÕýÔÚѧϰÓû§Ì¬Ï̺߳ÍÄÚºË̬¶¨Ê±Æ÷µÄʹÓã¬ÓиöÎÊÌâÇë½Ì´ó¼Ò£º
ÎÒÔÚÓû§¿Õ¼ä½¨Á¢ÁËÒ»¸öỊ̈߳¬ÄÚºË×öÒ»¸ö×Ö·ûÇý¶¯Ä£¿é£¬Í¨¹ýioctlµ÷ÓÃÀ´²»¶Ï¶ÁÈ¡Äں˶¨Ê±Æ÷ÓÐûÓÐ
µ½ÆÚ¡£ÔÚÉ豸½á¹¹ÌåÀïÃæ¼ÓÁËÒ»¸öÐźÅÁ¿£¬ÔÚopenµ÷ÓõÄʱºò°ÑÐźÅÁ¿Äõ½£¬Ê¹ÓÃÒ»¸öÄں˶¨Ê±Æ÷£¬ÔÚÄÚ
ºË¶¨Ê±Æ÷µ½ÆÚµÄ´¦Àíº¯ÊýÀïÃæÊÍ·ÅÐźÅÁ¿£¬ÕâÑùÓû§Ï̵߳÷ioctlµÄʱºò¾Í»ñÈ¡²»µ½ÐźÅÁ¿ÁË£¬µÈ¶¨Ê±Æ÷
³¬Ê±ÁË£¬¾Í»áÊÍ·ÅÐźÅÁ¿£¬ÕâÑùioctl¾Í·µ»Øµ½Óû§¿Õ¼äÁË£¬¿ÉÊÇÏ´ÎÔÙµ÷ÓÃioctlµÄʱºò¾Í²»µÈ´ýÐźÅÁ¿ÁË£¬²»ÖªµÀΪʲô£¿£¿
²»ÖªµÀÕâÑù×öÐв»ÐУ¬¿´ÊéÉϺÃÏñ¶¼ÊÇÁ½¸öÄÚºËÏ̼߳äÓÃÐźÅÁ¿À´Í¨ÐÅ£¬Çë´ó¼ÒÖ¸½Ì£¬Ð»Ð»£¡
void timer_handle(void)
{
int i = 0;
mod_timer(&KDA_devp->s_timer,jiffies + HZ * 5); /*ÖØÐ¸ı䶨ʱÆ÷µÄ³¬Ê±Ê±¼ä*/
up(&KDA_devp->sem); /*ÊÍ·ÅÐźÅÁ¿£¬ioctlµ÷ÓÿÉÒÔ»ñÈ¡µ½¸ÃÐźÅÁ¿*/
}
int KDA_open(struct inode *inode, struct file *filp)
{
struct KDA_dev *dev; /* device information */
dev = container_of(inode->i_cdev, struct KDA_dev, cdev);
filp->private_data = dev; /* for other methods */
init_timer(&KDA_devp->s_timer);
KDA_devp->s_timer.function = &timer_handle;
KDA_devp->s_timer.expires = jiffies + HZ * 5;
add_timer(&KDA_devp->s_timer); /*Ìí¼Ó£¨×¢²á£©¶¨Ê±Æ÷*/
down_interruptible(&dev->sem); /*»ñÈ¡Ð
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
linux ÏÂC±à³Ì ¼¯³É¿ª·¢»·¾³ ÓÃʲô±È½ÏºÃ
ÎÒ³õ²½Ñ¡¶¨ codeblock
ºÇºÇ »¹ÓÐ ÔÚlinux дÁËÒ»¸ö´òÓ¡ÖÐÎĵĴúÂ룬¶ø½ñÌìÔÚwindows ϲ鿴ÄǸö´úÂë £¬ ÊÇÂÒÂë ¶øºóÏëµ½ÏÈÓà EditPlusÏȽøÐб༠Ȼºó¸´ÖÆ ......
10MµÄ´ø¿í£¬ÓÐûÓпÉÄÜÿÃë·¢100MµÄicmp°ü?лл
........
ÔõôÏë¶¼²»¿ÉÄÜ
¾ÍËãÄãÇ¿·¢£¬Êµ¼Ê»¹Êǻᱻ×èÈûµ½10MÒÔÏÂ
ÊÇ10M/8
ÓиöÅóÓÑ˵ Ëû²âÊÔÁË10MµÄ¿í´ø£¬Ã¿Ãë·¢ÁË100M¶àµÄICMPµÄ°ü£¬Óе㲻ÏàÐÅ£¬À´ÎÊÎÊ
......