ÔÚLinuxϰ²×°DNW
1. ÏÂÔØLinuxÏÂDNWµÄPC¶ËUSBÇý¶¯ºÍдÈ빤¾ß
ÏÂÔØµØÖ·£ºÒÑÉÏ´«ÖÁCSDN
2. ±àÒëPC¶ËUSBÇý¶¯ºÍдÈ빤¾ß
2.1 ½âѹËõ
$ tar xzvf /path/to/dnw_linux.tgz
dnw_linux/
dnw_linux/secbulk/
dnw_linux/secbulk/Makefile
dnw_linux/secbulk/secbulk.c
dnw_linux/dnw/
dnw_linux/dnw/dnw.c
ÆäÖÐsecbulk.cÊÇPC¶ËUSBÇý¶¯, dnw.cÊÇдÈ빤¾ß
2.2 ±àÒë²¢¼ÓÔØsecbulk.cÄÚºËÄ£¿é
$cd secbulk
$make -C /lib/modules/`uname -r`/build M=`pwd` modules
±àÒë³É¹¦ºóÔÚµ±Ç°Ä¿Â¼Ï¿ÉÒÔ¿´µ½secbulk.ko
ÓÃinsmodÃüÁî¼ÓÔØÄ£¿é£¬ÕâÐèÒªrootȨÏÞ
$sudo insmod ./secbulk.ko
2.3 ±àÒëdnwдÈ빤¾ß
$gcc -o dnw dnw.c
±àÒë³É¹¦ºóÉú³É¿ÉÖ´ÐÐdnw£¨ÕâÒ»²½ÔÚÐéÄâ»úϱàÒëʱ³öÏÖÁËÐí¶à¾¯¸æ£©
3 ʹÓÃDNWÏÂÔØ
3.1 Æô¶¯¿ª·¢°å£¬½øÈëminicom£¬²¢½«¿ª·¢°åºÍPCÓÃUSBµçÀÂÁ¬½Ó£¬´ËʱÓÃdmesgÃüÁî¿ÉÒÔ¿´µ½secbulkÇý¶¯¼ÓÔØ£º
[ 283.677772] usb 1-1: new full speed USB device using uhci_hcd and address 2
[ 284.084835] usb 1-1: configuration #1 chosen from 1 choice
[ 284.140430] secbulk:secbulk probing...
[ 284.140482] secbulk:bulk out endpoint found!
3.2 µ±³öÏÖ“USB host is connected. Waiting a download.”ʱ£¬ÔÚPC¶ËLinuxÉÏÓÃdnw¹¤¾ßдÈëÒªÏÂÔØµÄÎļþ
Çл»µ½rootȨÏÞ£¬Ö´ÐÐdnwÏÂÔØ.
$./dnw /path/to/what/you/want/download
дÈëÍê³ÉºóÌáʾ³É¹¦
100% xxxxxxx bytes OK
4 Ìá¸ßÏÂÔØËÙ¶È
½«secbulk.cÖеÄ
#define BULKOUT_BUFFER_SIZE 32
¸ÄΪ
#define BULKOUT_BUFFER_SIZE 512
¿É·¢ÏÖËÙ¶È¿ìÁ˺ܶࡣ
Ïà¹ØÎĵµ£º
dzÎöLinuxÏÂcoreÎļþ
́Ȼ (zhanghua@eyou.net)
2006 Äê 8 ÔÂ 02 ÈÕ
µ±ÎÒÃǵijÌÐò±ÀÀ£Ê±£¬ÄÚºËÓпÉÄܰѸóÌÐòµ±Ç°ÄÚ´æÓ³Éäµ½coreÎļþÀ·½±ã³ÌÐòÔ±ÕÒµ½³ÌÐò³öÏÖÎÊÌâµÄµØ·½¡£×î³£³öÏֵ쬼¸ºõËùÓÐC³ÌÐòÔ±¶¼³öÏÖ¹ýµÄ´íÎó¾ÍÊÇ“¶Î´íÎó”ÁË¡£Ò²ÊÇ×îÄѲé³öÎÊÌâÔÒòµÄÒ»¸ö´íÎó¡£Ï ......
LinuxÏµĶ¨Ê±Æ÷ÓÐÁ½ÖÖ£¬ÒÔÏ·ֱð½éÉÜ£º
1¡¢alarm
Èç¹û²»ÒªÇóºÜ¾«È·µÄ»°£¬ÓÃalarm()ºÍsignal()¾Í¹»ÁË
unsigned int alarm(unsigned int seconds)
º¯Êý˵Ã÷: alarm()ÓÃÀ´ÉèÖÃÐźÅSIGALRMÔÚ¾¹ý²ÎÊýsecondsÖ¸¶¨µÄÃëÊýºó´«Ë͸øÄ¿Ç°µÄ½ø³Ì¡£Èç¹û²ÎÊýsecondsΪ0£¬Ôò֮ǰÉèÖõÄÄÖÖӻᱻȡÏû£¬²¢½«Ê£ÏµÄʱ¼ä·µ»Ø¡£
·µ»ØÖµ: ......
WindowsÍê³É¶Ë¿ÚÓëLinux epoll¼¼Êõ¼ò½é
2009-09-16 09:13
WINDOWSÍê³É¶Ë¿Ú±à³Ì
1¡¢»ù±¾¸ÅÄî
2¡¢WINDOWSÍê³É¶Ë¿ÚµÄÌØµã
3¡¢Íê³É¶Ë¿Ú£¨Completion Ports £©Ïà¹ØÊý¾Ý½á¹¹ºÍ´´½¨
4¡¢Íê³É¶Ë¿ÚÏ̵߳Ť×÷ÔÀí
5¡¢WindowsÍê³É¶Ë¿ÚµÄʵÀý´úÂë
LinuxµÄEPollÄ£ÐÍ
1¡¢ÎªÊ²Ã´selectÂäºó
2¡¢ÄÚºËÖÐÌá¸ßI/OÐÔÄܵÄз½·¨epoll
3 ......
//»ñÈ¡±¾»úIPµØÖ·º¯Êý
QString GetLocalIp()
{
int sock_get_ip;
char ipaddr[50];
struct sockaddr_in *sin;
struct ifreq ifr_ip;
if ((sock_get_ip=socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("socket create failse...GetLocalIp!\n");
return ""; ......
//»ñÈ¡×ÓÍøÑÚÂëµÄº¯ÊýQString GetLocalNetMask()
{
int sock_netmask;
char netmask_addr[50];
struct ifreq ifr_mask;
struct sockaddr_in *net_mask;
sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("create socket failture...GetLocalNetMask\n");
......