ºìÁªLinuxÃÅ»§
Linux°ïÖú

acl¿çÆ½Ì¨ÍøÂçͨÐÅÓë·þÎñÆ÷¿ò¼Ü3.0.21·¢²¼

·¢²¼Ê±¼ä:2014-10-31 11:22:50À´Ô´:ºìÁª×÷Õß:empast
acl 3.0.21 °æ±¾·¢²¼ÁË£¬acl ÊÇ one advanced C/C++ library µÄ¼ò³Æ£¬Ö÷Òª°üÀ¨ÍøÂçͨÐÅ¿âÒÔ¼°·þÎñÆ÷¿ò¼Ü¿âµÈ¹¦ÄÜ£¬Ö§³Ö Linux/Windows/Solaris/FreeBsd/MacOS ƽ̨£»Õû¸ö acl ÏîÄ¿Ö÷Òª°üº¬Èý¸öº¯Êý¿â£ºlib_acl(´¿C¿ª·¢µÄ»ù´¡¿â£¬Ö÷Òª°üº¬ÍøÂçͨÐż°·þÎñÆ÷±à³Ì¿ò¼ÜÒÔ¼°ÆäËü·á¸»µÄ¹¦ÄÜ)¡¢lib_protocol(°üº¬ HTTP/PING/SMTP ͨÐÅЭÒéµÄCÓïÑÔʵÏÖ)¡¢lib_acl_cpp(»ùÓÚ lib_acl ¼° lib_protocol Á½¸öC¿â£¬ÌṩÁ˸üΪǿ´óµÄ±à³Ì½Ó¿Ú¼°·á¸»µÄ¹¦ÄÜÀà)£»±¾´Î acl Éý¼¶µÄÖ÷ÒªÄÚÈÝÓУºÊ¹Í·ÎļþµÄ¶¨Òå¸üΪ¹æ·¶»¯¡¢Ôö¼ÓÁËеķÀ SQL ×¢Èë²éѯÆ÷¡¢½øÒ»²½·á¸»ÁË·þÎñÆ÷¿ò¼ÜµÄ¹¦ÄÜ¡£

acl °üÀ¨ÒÔÏ·ḻµÄ³£Óú¯Êý¿â£º
1¡¢³£¼ûÍøÂçÓ¦Óÿ⣺ SMTP ¿Í»§¶Ë¿â/PING ¿â/memcache ¿Í»§¶Ë¿â/handlersocket ¿Í»§¶Ë¿â/beanstalk ¿Í»§¶Ë¿â
2¡¢HTTP ÍøÂç¿â£ºHTTP ¿Í»§¶Ë/·þÎñ¶Ë¿â£¬C++°æ HttpServlet À࣬HTTP COOKIE/HTTP SESSION µÈ
3¡¢Óʼþ½âÎö¿â£ºmime½âÎö¿â/RFC2047/RFC2048/mime base64/mime qp/mime uucode µÈ
4¡¢ÍøÂçͨÐſ⣺×èÈû/·Ç×èÈûÍøÂç IO ¿â(ÆäÖÐ lib_acl_cpp ¿âͨ¹ýǶÈë polarssl ¶ø¾ß±¸ÁË SSL µÄÄÜÁ¦)
5¡¢·þÎñÆ÷¿ò¼Ü£º°üÀ¨½ø³Ì³ØÄ£Ê½¡¢Ï̳߳ØÄ£Ê½¡¢·Ç×èÈûģʽ¡¢UDPͨÐÅģʽ¼°´¥·¢Æ÷ģʽ
6¡¢Ê¼þÒýÇæ£ºÖ§³Ö select¡¢poll(for unix)¡¢epoll(for linux)¡¢kqueue(for bsd)¡¢devpoll(for solaris)¡¢iocp(for win32)¡¢win32 ´°¿ÚÏûÏ¢(for win32£©Ê¼þÒýÇæ
7¡¢Í¨ÓÃÁ¬½Ó³Ø¿â£º¸ßЧµÄÁ¬½Ó³Ø»ù´¡Àà¿â£¬Ö§³Ö·á¸»µÄ¹¦ÄÜ
8¡¢Êý¾Ý¿â¿Í»§¶Ë¿â£º¶ÔÔ­ÉúµÄÊý¾Ý¿â¿Í»§¶Ë¿â½øÐÐÁ˶þ´Î·â×°£¬Ê¹±à³Ì¸üΪ¼òÒ×£¬¹¦ÄܸüΪ·á¸»
9¡¢xml/json Á÷ʽ½âÎö¿â£ºÇø±ðÓÚÍøÉÏÆäËüÒÑÓÐµÄ xml/json ½âÎö¿â£¬acl ÖÐµÄ xml/json ½âÎö¿â²ÉÓÃÓÐÏÞ״̬»ú·½Ê½½âÎöÊý¾Ý£¬´¦Àí·½Ê½¸üΪÁé»î

Ò»¡¢»ù´¡ C ¿â£ºlib_acl
.ÐÂÌØÐÔ£ºacl_threads_server.c Ï̳߳طþÎñÆ÷Ä£°åÖ§³Öͨ¹ýÅäÖÃÏî (ioctl_thread_accept = 1) ½« on_accept »Øµ÷¹ý³Ì·ÅÔÚÏ̳߳صÄ×ÓÏß³ÌÖд¦Àí
.ÐÂÌØÐÔ£ºÊ¼þÒýÇæÄ£¿é¿ÉÒÔÇø·Ö ACL_EVENT_ACCEPT/ACL_EVENT_CONNECT Óë ACL_EVENT_READ/ACL_EVENT_WRITE ʼþÀàÐÍ
.ÐÂÌØÐÔ£ºacl_vstream.c Ôö¼ÓÁ˼¸´¦ IO ³ö´íʱµÄ´íÎóºÅ¼Ç¼λÖÃ
.ÐÂÌØÐÔ£ºacl_tcp_ctl.c Ôö¼ÓÁËÌ×½Ó×ÖÑ¡ÏîµÄ»ñȡнӿڣºacl_get_tcp_solinger£¬acl_get_tcp_nodelay
.ÎÊÌâÐÞ¸´£ºacl_aqueue.c µÄ acl_aqueue_free ÖÐÔÚÊÍ·Åʱ´æÔÚÒ»´¦¿ÕÖ¸ÕëʹÓÃ
.ÆäËü£ºÕûÀí¿âµÄËùÓÐÍ·Îļþ£¬Ê¹Ö®¸ü¹æ·¶

¶þ¡¢lib_protocol ¿â
.ÎÞ±ä¸ü

Èý¡¢lib_acl_cpp ¿â
.ÐÂÌØÐÔ£ºÔö¼ÓÁË query Êý¾Ý¿â²éѯ¶ÔÏóÀ࣬ͨ¹ý¸ÃÀ๹½¨°²È«µÄ SQL ²éѯÓï¾ä£¬²¢Í¨¹ý db_handle Àà¶ÔÏó²éѯ¸Ã query ¶ÔÏ󣬴ËÉè¼Æ½è¼øÁË java hiberate µÄһЩ˼Ïë
.ÐÂÌØÐÔ£ºsocket_stream ÀàÔö¼ÓÁË TCP Ì×½Ó×ÖµÄÉèÖÃ/»ñÈ¡·½·¨£»server_socket Ôö¼ÓÁËÉèÖ÷þÎñÆ÷Ì×½Ó×ÖÑÓ³Ù½ÓÊÕÑ¡Ïî·½·¨
.ÐÂÌØÐÔ£ºstring ÀàµÄ format_append º¯ÊýÔö¼ÓÁ˱ä²ÎÀàÐÍУÑ鹦ÄÜ
.ÐÂÌØÐÔ£ºpolarssl_conf ÀàÖ§³Ö SSL ÎÕÊÖʱ¶ÔÖ¤Êé½øÐÐÑéÖ¤µÄ·½Ê½£¬¿ÉÒÔÔÚÀà³õʼ»¯Ê±ÉèÖÃÖ¤ÊéÑéÖ¤·½Ê½
.ÐÂÌØÐÔ£ºstream_hook ÀàµÄ on_close »Øµ÷º¯ÊýÔö¼ÓÍøÂçÁ¬½ÓÊÇ·ñÕý³£µÄ²ÎÊý£¬×ÓÀà¿É¸ù¾Ý´Ë²ÎÊý¾ö¶¨´ý¹Ø±ÕÁ¬½ÓµÄÉÆºó¶¯×÷; stream ÀàÔڹرÕǰ»áÊ×ÏÈÅжÏÍøÂçÁ¬½ÓÊÇ·ñÕý³££¬²¢½»Á¬½Ó״̬ͨ¹ý on_close ²ÎÊý´«µÝ¸ø×ÓÀàʵÀý
.ÎÊÌâÐÞ¸´£ºsamples/win_dbservice ÔÚÒì²½µ÷Óà DB ·þÎñǰ»¹Ã»Óдò¿ªÒì²½ÏûÏ¢´¦Àí¾ä±ú
.ÎÊÌâÐÞ¸´£ºstring ÀàÖÐµÄ operator +=(long n) µÄ±ä²ÎÀàÐÍÓÐÎó
.ÐÂʾÀý£ºÐÂÔöÊý¾Ý¿â²éѯʾÀý samples/db/mysql_query
.±àÒ룺Ïû³ýÁËʹÓà Makefile.db ±àÒëʱµÄһЩ¾¯¸æ

²Î¿¼Á´½Ó£º
¼¼Êõ²©¿Í£ºhttp://zsxxsz.iteye.com/
download£ºhttp://sourceforge.net/projects/acl/
svn£ºsvn checkout svn://svn.code.sf.net/p/acl/code/trunk acl-code
github£ºhttps://github.com/zhengshuxin/acl
QQ Ⱥ£º242722074

À´×Ô:¿ªÔ´ÖйúÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ