Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : linux

LinuxÉÏTCP¶ªÊ§Ð¡°ü²»¿É¼ûµÄ½â¾ö

LinuxÉÏTCP¶ªÊ§Ð¡°ü²»¿É¼ûµÄ½â¾ö
 ×÷ÕߣºÇ§Àï¹ÂÐÐ(http://blog.csdn.net/yanghehong)
ÓÐÍøÓÑÔÚ×öÒ»¸öLinuxÉϵĿͻ§¶ËÅöµ½ÕâÑùµÄÎÊÌ⣺
ÎÒÃÇÔÚLinuxÏ¿ª·¢Ò»¸öÍøÂç¿Í»§¶Ë³ÌÐò£¨·þÎñÆ÷ÊDz»¿ÉÐ޸ĵģ©£¬²»¶ÏÏò·þÎñÆ÷²»¶¨ÆÚ·¢ËÍһЩºÜСµÄ°ü£¨Ò»°ãÖ»Óм¸Ê®×Ö½Ú£©£¬ÏÖÔÚ³öÏÖÕâÖÖÇé¿ö£º´ó²¿·Ö°üÕý³£·¢ËÍ£¬µ«Êǵ±ÎÞÏßModem¶Ï¿ªµÄʱºò£¬Èç¹ûÕâ¸öʱºò¸ÕºÃÓÐÒ»¸öС°ü£¬¾Í¿ÉÄܶªÊ§£¬µ«ÔÚ³ÌÐòÖÐÈ´ÏÔʾÒѾ­·¢Ëͳɹ¦£¬µ¼Ö¶ª°ü¡£
ÎÒÃÇ·ÖÎöÔ­ÒòÊÇÕâÑù£º
1£ºÖ÷³ÌÐò´´½¨Socket£¬TCP/IP·½Ê½£¬²¢²ÉÓÃStream·½Ê½
2£ºÖ÷³ÌÐòµ÷ÓÃWrite£¬Ð´ÈëС°üµ½ÏµÍ³µÄSocket»º³åÇø£¬²¢·µ»Ø³É¹¦Ð´È룬ÓÉÓÚ×Ö½ÚÊýºÜС£¬ËùÒÔÒ»°ã¶¼Á¢¼´·µ»ØÐ´Èë³É¹¦£¡
3£ºLinux TCP/IPЭÒéÕ»°ÑSocket»º³åÇøÊý¾Ý·¢Ë͵½·þÎñÆ÷
Èç¹ûµÚ¶þ²½Íê³É£¬¸ÕºÃÔÚµÚÈý²½³öÏÖÎÞÏßModem¶Ï¿ªµÄÇé¿ö£¬¾Í»áµ¼ÖÂÖ÷³ÌÐòÒÔΪÒѾ­·¢Ëͳɹ¦ÁË£¬µ«·þÎñÆ÷ÊÕ²»µ½µÄÇé¿ö¡£
ÎÒÃÇÔÚÍøÂçÉÏËÑË÷ÁË´óÁ¿µÄ×ÊÁÏ£¬µ«ÊÇûÓÐÕÒµ½×îÖյĽâ¾ö·½°¸£¬Ò»°ã¶¼ÊÇÒªÇóÐÞ¸ÄЭÒ飬¼ÓÉ϶ÔС°üµÄACK´¦Àí£¬µ«ÎÒÃÇÕâ±ßÎÞ·¨¿ØÖÆ·þÎñÆ÷¡£
ÎÒÃÇÒ²ÊÔ×Å¿ØÖÆKeepAliveºÍNoDelay£¬µ«»¹ÊÇûЧ¹û£º
//¶Ôsock_cliÉèÖÃKEEPALIVEºÍNODELAY
len = sizeof(unsigned int);
setsockopt(so ......

ubuntu Ô¶³ÌÁ¬½Ó linux ʹÓÃSSH (ubuntu ÅäÖÃssh·þÎñ)

°²×°OpenSSH
UbuntuȱʡûÓа²×°SSH Server£¬Ê¹ÓÃÒÔÏÂÃüÁî°²×°£º
sudo apt-get install openssh-server openssh-client
²»¹ýUbuntuȱʡÒѾ­°²×°ÁËssh client¡£
ÅäÖÃÍê³ÉºóÖØÆð£º
sudo /etc/init.d/ssh restart
windows ¿Í»§¶ËÓÃputtyÁ¬½ÓÃüÁîshellģʽ
......

¹ØÓÚlinuxµÄ¼¸¸öÔ¶³Ì¿ØÖƵÄÈí¼þ

putty
puttyÊǸö±È½Ï¼òµ¥µÄlinuxÔ¶³Ì¿ØÖƹ¤¾ß£¬Ãâ·ÑµÄ£¬Ö»ÒªÏµ½puttyÔËÐоÍokÀ²£¬ÊäÈëÒª·ÃÎʵķþÎñÆ÷µÄip £¬°Ñ·ÃÎÊÀàÐÍÉèΪssh£¬ÊäÈëµÇ½ÕÊ»§¡¢ÃÜÂë¾ÍokÀ²£¬Ò»Çж¼ÊÇÄÇôµÄ¼òµ¥¡£ 
secureCRT
Õâ¸ö±È½Ï¸´ÔÓÒ»µã£¬ÐèҪע²áÂëµÄ£¬µ«»¹ËãÊDZȽÏÈÝÒ×ÕÒµ½µÄ£¬ËüµÄÉèÖÃÒ²ÊǺÜɵ¹ÏµÄÄÇÖÖ£¬¸úputtyÊÇÒ»ÑùµÄ£¬°Ñ·ÃÎʵÄÀàÐÍÉèÖÃΪssh¾ÍOKÀ²£¬Èç¹ûÓÃtelnetµÄ»°£¬ÐèÒªÅäÖÃÄãµÄlinux·þÎñÆ÷¡£
vnc
vncÕâ¸ö¹¤¾ßÎÒ¾õµÃÊÇ×îÂé·³µÄÀ²£¬²»¹ýºÃÏñÒª±ÈÇ°ÃæµÄÁ½¸ö¹¦ÄÜÒª·á¸»Ò»µã£¬µ«ÅäÖÃÆðÀ´±È½ÏÂé·³£¬ÒªÔÚlinux·þÎñÆ÷¶ÎÏÈ×°Ò»¸ölinux°æµÄ³ÌÐò£¬²¢ÔËÐÐÆðÀ´£¬È»ºó»¹Òª×°Ò»¸öwindows°æµÄ¿Í»§¶Ë£¬ÎÒ¸ãÁ˼¸´ÎÒ²²»ÊǺÜ˳Àû£¬ÏÖÔÚÒ²ºÜÉÙÓÃÕâÖÖ¹¤¾ß£¬
winscp
Õâ¸ö²»ÊÇʲôlinuxÔ¶³Ì¿ØÖƹ¤¾ßŶ£¬ÊǸöftpµÄ´«Ê乤¾ß°¡£¬Ö»ÒªÉèÖúÃÄãµÄ·ÃÎÊip¾Í¿ÉÒԵǽµ½windows»òlinux»úÆ÷ÉÏÁË£¬ÏëҪʲô¶«Î÷£¿Å¬Á¦Íϰɣ¬ÄÚÍøµÄËÙ¶È»¹ÊDZȽϿìµÄ£¬>1m ºÇºÇ·
Õ⼸¸ö¹¤¾ß¶¼ÊDZȽϺÃÏµģ¬µ½ÍøÉÏËÑË÷һϾÍÄÜÕÒµ½ÄãÂúÒâµÄÏÂÔØµØÖ·À²£¬Ñ§linuxÕâЩ¹¤¾ßÓ¦¸ÃÊDZر¸µÄ°É£¬
......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

      ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
   ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
   pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
   1. while (pool->cur_queue_size == 0)
   2. {
   3.        pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
   4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
 
   pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£
&nbs ......

Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ

      ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£
   ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
   pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
   1. while (pool->cur_queue_size == 0)
   2. {
   3.        pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
   4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
 
   pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£
&nbs ......

Linux¾²Ì¬/¶¯Ì¬Á´½Ó¿âµÄ´´½¨ºÍʹÓÃ


ºÍ
WindowsϵͳһÑùLinuxÒ²Óо²Ì¬/¶¯Ì¬Á´½Ó¿â£¬ÏÂÃæ½éÉÜ´´½¨ºÍʹÓ÷½·¨£º
¼ÙÉèÓÐÏÂÃæ¼¸¸öÎļþ£º
Í·ÎļþString.h£¬ÉùÃ÷Ïà¹Øº¯ÊýÔ­ÐΣ¬ÄÚÈÝÈçÏ£º
Strlen.c£º
º¯ÊýStrlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬ÄÚÈÝÈçÏ£º
Strlnen.c£ºº¯Êý
StrNlenµÄʵÏÖ£¬»ñÈ¡¸ø¶¨×Ö·û´®µÄ³¤¶È£¬Èç¹ûÊäÈë×Ö·û´®µÄ³¤¶È´óÓÚÖ¸¶¨µÄ×î´ó³¤¶È£¬Ôò·µ»Ø×î´ó³¤¶È£¬·ñÕß·µ»Ø×Ö·û´®µÄʵ¼Ê³¤¶È£¬ÄÚÈÝÈçÏ£º
Éú
³É¾²Ì¬¿â£º
 ÀûÓÃGCCÉú³É¶ÔӦĿ±êÎļþ£º
gcc –c Strlen.c Strnlen.c
Èç¹û¶ÔÓ¦µÄÎļþûÓдíÎó£¬gcc
»á¶ÔÎļþ½øÐбàÒëÉú³ÉStrlen.oºÍStrnlen.oÁ½¸öÄ¿±êÎļþ(Ï൱ÓÚwindowsϵÄobjÎļþ)¡£È»ºóÓÃar´´½¨Ò»¸öÃû×ÖΪ
libstr.aµÄ¿âÎļþ£¬²¢°ÑStrlen.o ºÍStrnlen.oµÄÄÚÈݲåÈëµ½¶ÔÓ¦µÄ¿âÎļþÖС££¬Ïà¹ØÃüÁîÈçÏ£º
ar –rc
libstr.a Strlen.o Strnlen.o
ÃüÁîÖ´Ðгɹ¦ÒԺ󣬶ÔÓ¦µÄ¾²Ì¬¿âlibstr.aÒѾ­³É¹¦Éú³É¡£
/***********************************
Filename : String.h
Description
:
Author   : HCJ
Date     : 2006-5-7
************************************/
int Strlen(char *pStr);
int StrNlen(char *pStr, unsigned long
......

LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷

LinuxÇý¶¯µÄһЩ»ù±¾²Ù×÷

LinuxÄÚºËÖж¨ÒåÁ˺ܶàºê£¬¶ÔÓ²¼þ¶Ë¿ÚºÍ¼Ä´æÆ÷½øÐвÙ×÷£¬´ÓÍøÉÏËѼ¯ÁËһЩºê¶¨ÒåµÄÐÅÏ¢£º
1. __REG¼òµ¥µÄ˵¾ÍÊÇ»ñµÃºóÃæËùʾÎïÀíµØÖ·Ó³ÉäºóµÄÐéÄâµØÖ·£¬ÀýÈ磺
#define GPLR0  __REG(0x40E00000)    /* GPIO Pin-Level Register GPIO<31:0> */
#define GPLR1  __REG(0x40E00004)    /* GPIO Pin-Level Register GPIO<63:32> */
#define GPLR2  __REG(0x40E00008)    /* GPIO Pin-Level Register GPIO<80:64> */
pxa´¦ÀíÆ÷ÄÚ²¿¼Ä´æÆ÷µÄÎïÀíµØÖ·ºÍÄں˿ռäµÄÐéÄâµØÖ·¶ÔÓ¦¹ØÏµÈçÏÂ:
Intel PXA internal I/O mappings:* 0x40000000 - 0x41ffffff <--> 0xf8000000 - 0xf9ffffff
 * 0x44000000 - 0x45ffffff <--> 0xfa000000 - 0xfbffffff
 * 0x48000000 - 0x49ffffff <--> 0xfc000000 - 0xfdffffff
2. #define GPLR(x)  __REG2(0x40E00000, ((x) & 0x60) >> 3).
»¹ÓÐÒ»¸öת»»µÄ¾ä×Ó#define GPIO_bit(x) (1 << ((x) & 0x1f))
GPIO¹²ÓÐ80¸ö,ËùÒÔ32bitµÄ¼Ä´æÆ÷Ö»ºÃû×é× ......
×ܼǼÊý:5772; ×ÜÒ³Êý:962; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [292] [293] [294] [295] 296 [297] [298] [299] [300] [301]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ