ÔÚ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
¿É·¢ÏÖËÙ¶È¿ìÁ˺ܶࡣ
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
LinuxµÄÓû§ºÍÓû§×é¹ÜÀí
LinuxϵͳÊÇÒ»¸ö¶àÓû§¶àÈÎÎñµÄ·Öʱ²Ù×÷ϵͳ£¬ÈκÎÒ»¸öҪʹÓÃϵͳ×ÊÔ´µÄÓû§£¬¶¼±ØÐëÊ×ÏÈÏòϵͳ¹ÜÀíÔ±ÉêÇëÒ»¸öÕ˺ţ¬È»ºóÒÔÕâ¸öÕ˺ŵÄÉí·Ý½øÈëϵͳ¡£Óû§µÄÕ˺ ......
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 ......
//»ñÈ¡×ÓÍøÑÚÂëµÄº¯Êý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");
......