linux socketѧϰ±Ê¼Ç£¨µÚ¶þÕ£©
ÓòºÍµØÖ·×å
ÓÐÒ»¸öºÜÇ¡µ±µÄ±ÈÓ÷˵Ã÷Ì×½Ó¿Ú±à³Ì£¬Ì׽ӿھͺñȵ绰£¬¶øµç»°ÍøÖеĵ绰ºÅÂë¾ÍºÃÏñÌ×½Ó¿ÚµØÖ·¡£ËµÃ÷Ì×½Ó¿Ú¿ÉÒÔÓÃÌØ¶¨µÄµØÖ·À´±êʾ×Ô¼º¡£²¢²»ÊÇËùÓеÄÌ×½Ó¿Ú¶¼ÐèÒªµØÖ·£¬±ÈÈçÎÞÃûÌ׽ӿھͲ»ÐèÒªµØÖ·£¬ÀýÈ纯Êýsocketpair(2)¾ÍÉú³ÉÁËÒ»¶Ô»¥Ïà¿ÉÒÔÁ¬½Óµ«ÊÇȴûÓеØÖ·µÄÌ×½Ó¿Ú¡£ÊéÖбÈÓ÷˵¾ÍºÃÏñÊÇÀäսʱÆÚËÕÁªºÍÃÀ¹úÖ®¼äµÄÈÈÏߵ绰һÑù£¬Ö±½ÓÏàÁ¬£¬²»ÐèÒªµç»°ºÅÂë¡£
Óò(domain)£¬ÔÚsocketÖУ¬²»½ö¿ÉÒÔÖ§³ÖTCP/IPÐÒ飬Ҳ¿ÉÒÔÖ§³ÖÆäËûÐÒ飬socketÖеIJÎÊýdomainµÄ×÷ÓÃÕýÔÚÓÚ´Ë¡£»Ø¹ËÒ»ÏÂsocketpair(2)º¯ÊýµÄÓï·¨¿ÉÒÔ¿´µ½¡£
#include <sys/types.h>
#include <sysy/socket.h>
int socketpair( int domain , int type , int protocol , int sv[2] );
ÔÚsocketpair(2)º¯ÊýÖУ¬domain²ÎÊýҪôÊÇAF_LOCAL,ҪôÊÇAF_UNIX. ÆäʵËûÃÇÊǵȼ۵ġ£AF_LOCALµÄǰ׺AF±íʾµØÖ·×壨address family£©£¬domain²ÎÊýµÄÓÃ;¾ÍÊÇ˵Ã÷º¯ÊýÊDzÉÓÃÄĸöµØÖ·×å¡£Ö®ºó»¹»á³öÏÖPF_µÄºê£¬ÏÖÔÚ¿ÉÒÔÔÝʱÈÏΪÊǵȼ۵ġ£
AF_LOCAL±íʾʹÓñ¾µØµØÖ·¹æÔòÀ´Éú³ÉµØÖ·£¬AF_INET±íʾʹÓÃIPµØÖ·¹æÔòÀ´Éú³ÉµØÖ·¡£BSDµÄ½â¾ö·½°¸ÌṩÁËÒ»ÖÖͨÓõĵØÖ·½á¹¹ÈçÏ£º
#include <sys/socket.h>
struct sockaddr{
sa_family_t sa_family ; /* µØÖ·×å */
char sa_data[14] ; /* µØÖ·Êý¾Ý */
};
¶ÔÓÚ±à³ÌÕßÀ´Ëµ£¬Í¨ÓÃÌ×½Ó¿Ú±¾ÉíûÓÐʲôÓô¦£¬µ«ÊÇËüΪÆäËûµØÖ·½á¹¹ÌṩÁËÒ»¸öÖØÒªµÄ²Î¿¼Ä£ÐÍ£¬±ÈÈçËùÓеĵØÖ·¶¼ÒªÔڽṹÖеÄͬÑùλÖö¨Òåsa_family³ÉÔ±£¬ÒòΪËû¾ö¶¨ÁËÔõô·Òë½á¹¹Öаüº¬µØÖ·ÐÅÏ¢µÄ×Ö½Ú¡£
Éú³É±¾µØµØÖ·AF_LOCAL»òÕßAF_UNIXµÄµØÖ·µÄ½á¹¹ÃûÊÇsockaddr_un.
ÔÚLinuxÖУ¬Ê¹ÓÃ×îÆÕ±éµÄµØÖ·×åÊÇAF_INET.¾ßÓÐIPv4Ì×½Ó¿ÚµØÖ·µÄÌ×½Ó¿Ú¿ÉÒÔÓëTCP/IPÉÏµÄÆäËûÖ÷»ú½øÐÐͨÐÅ¡£Ò»ÏÂÊÇCÓïÑÔÃèÊöµÄ½á¹¹sockadd
Ïà¹ØÎĵµ£º
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àÒ»Ó¦ÓóÌÐò£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬ insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö¡£
&n ......
TFTPÊÇÓÃÀ´ÏÂÔØÔ¶³ÌÎļþµÄ×î¼òµ¥ÍøÂçÐÒ飬Ëü»ùÓÚUDPÐÒé¶øÊµÏÖ¡£Ç¶ÈëʽlinuxµÄtftp¿ª·¢»·¾³°üÀ¨Á½¸ö·½Ã棺һÊÇǶÈëʽlinuxËÞÖ÷»úµÄ tftp-serverÖ§³Ö£¬¶þÊÇǶÈëʽlinuxÄ¿±ê»úµÄtftp-clientÖ§³Ö¡£ÒòΪu-boot±¾ÉíÄÚÖÃÖ§³Ötftp-client£¬ËùÒÔǶÈëʽĿ±ê»ú¾Í²»ÓÃÅäÖÃÁË¡£ÏÂÃæ¾ÍÏêϸ½éÉÜÒ»ÏÂlinuxËÞÖ÷»útftp-serverµÄ°²×°ÅäÖá£
......
ÔÚLinuxÏÂÃæÈ¥Ñ¹ËõÎļþ»òÕßĿ¼¡£ÎÒÃǽ«Ñ§Ï°zip, tar, tar.gzºÍtar.bz2µÈѹËõ¸ñʽµÄ»ù±¾Ó÷¨¡£
zip¸ñʽÒѳÉΪѹËõÎļþµÄ±ê׼ѡÔñ£¬¶øÇÒËüÔÚwindowsÉÏÒ²ÄÜʹÓá£
¾³£ÓÃzip¸ñʽѹËõÄÇЩÐèÒª¹²Ïí¸øwindowsÓû§µÄÎļþ¡£
Èç¹ûÖ»Êǹ²Ïí¸ølinuxÓû§»òÕßMacÓû§£¬Æ«ÏòÓÚÑ¡Ôñtar.gz¸ñʽ¡£
ZIP
zip¿ÉÄÜÊÇĿǰʹÓõÃ×î¶àµÄÎĵµ ......
LinuxÏÂÈí¼þ¡¢PHPºÍPerlµÄÄ£¿éµÈ¶¼ÊµÏÖÁË×Ô¶¯°²×°£¬ÕæµÄºÜ·½±ã£¬±¾Îļòµ¥½éÉÜһϡ£
linuxÏ¿ÉÒÔʹÓÃyum¹¤¾ß£¬RedhatÏÂ×Ô¶¯´øÓУº
yum list php* //¿ÉÒԲ鿴phpµÄÏà¹ØÄ£¿é
yum install php //°²×°phpÕâ¸öÄ£¿é
phpÄ£¿éµÄ×Ô¶¯°²×°(ÀûÓÃpecl.php.netºÍpear.php.netÔÚÏß°²×°)£º
ÀûÓÃpearºÍpecl¹¤¾ß£¬Ê×ÏÈÐèÒª° ......
tcÊǸöÅäÖÃLinuxÄÚºËÁ÷Á¿¿ØÖƵŤ¾ß Ãû×Ö tc - ÏÔʾ£¯Î¬»¤Á÷Á¿¿ØÖÆÅäÖà ժҪ tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ] tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qd ......