linux socket Ïê½â
Í·Îļþ£ºsys/socket.h
Ïà¹Ø½á¹¹Ì壺
struct sockaddr
{
unsigned short sa_family; //µØÖ·×å
char sa_data[14]; //14×Ö½ÚÐÒ鵨ַ
};
struct sockaddr_in
{
short int sin_family; //µØÖ·×å
unsigned short int sin_port; //¶Ë¿ÚºÅ
struct in_addr sin_addr; //IPµØÖ·
unsigned char sin_zero[8]; //Ìî³ä0ÒÔ±£³ÖÓëstruct sockaddrͬÑù´óС
};
struct in_addr
{
unsigned long s_addr; // that’s a 32-bit long, or 4 bytes
};
×¢£ºÕâÁ½¸öµØÖ·ÀàÐͽṹÌåÔÚÍ·ÎļþÖж¨Òå¡£
Ïà¹Øº¯Êý£º
<´ò¿ªÌ×½Ó×Ö>
int socket(int af,int type,int protocol); //·µ»ØsocketÌ×½Ó×Ö£¬ÔÚºóÃæµÄµ÷ÓÃʹÓÃËü¡£
afÖ¸¶¨Í¨ÐÅ·¢ÉúÇøÓò£¨µØÖ·×壩
UNIXϵͳÓУºAF_UNIX,AF_INET,AF_NSµÈ¡£
DOS¡¢WINDOWSÖÐÖ§³Ö£ºAF_INET£¨Íø¼ÊÍøÇøÓò£©
×¢£ºµØÖ·×åÓëÐÒé×åÏàͬ¡£
typeΪSOCK_STREAM£¨½¨Á¢TCP/IPÁ¬½ÓµÄÁ÷ʽÌ×½Ó×Ö£©»òSOCK_DGRAM£¨½¨Á¢ÎÞÁ¬½ÓµÄUDPÊý¾Ý±¨Ì×½Ó×Ö£©
×¢£º½øÐÐÊý¾Ý±¨·½Ê½µÄÊý¾Ý´«Êäsendto()ºÍrecvfrom()ʱҪÓÃSOCK_DGRAM ²»È»»á²úÉú´íÎó¡£
protocolͨ³£Îª0
<Ö¸¶¨±¾µØµØÖ·>
int bind(int sockfd,struct sockaddr *my_addr,int addrlen);
sockfdΪsocket·µ»ØµÄÌ×½Ó×Ö¡£
my_addrÖ¸Ïò°üº¬±¾»úIPµØÖ·ºÍ¶Ë¿ÚºÅµÈÐÅÏ¢µÄsockaddrÀàÐÍÖ¸Õë¡£
addrlenͨ³£Îªsizeof(struct sockaddr)
×¢£º¶¨Òå±¾»úµØÖ·Í¨³£Îª
struct sockaddr_in my_addr;
... ...
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(Ö¸¶¨¶Ë¿ÚºÅ); //htons()½øÐÐ×Ö½Ú˳Ðòת»»£¬×ª»»³ÉÍøÂç×Ö½ÚÓÅÏÈ˳Ðò¡£
my_addr.sin_addr.s_addr=INADDR_ANY; //INADDR_ANY×Ô¶¯»ñÈ¡±¾»úIPµØÖ·
<¼àÌýÇëÇó>
int listen(int sockfd,int backlog);
backlogÖ¸¶¨ÔÚÇëÇó¶ÓÁÐÖÐÔÊÐíµÄ×î´óÇëÇóÊý£¬½øÈë¶ÓÁеÄÇëÇ󽫵ȴýaccept()ËüÃÇ¡£
×¢£º·þÎñÆ÷³ÌÐòµÄͨ³£Ö´ÐÐ˳ÐòΪ sockfd=socket( ... ... ); bind(sockfd, ..., ...); listen(sockfd, ..., ...);
ÓÃSOCK_STREAMģʽÐèÒª accept()Á¬½ÓÇëÇó¡£
<½ÓÊÜÁ¬½ÓÇëÇó>
int accept(int sockfd,st
Ïà¹ØÎĵµ£º
http://www.ibm.com/developerworks/cn/linux/l-busybox/
BusyBox ¼ò»¯Ç¶Èëʽ Linux ϵͳ
ΪС»·¾³×¼±¸µÄÒ»¸öС¹¤¾ß°ü
ÎĵµÑ¡Ïî
<tr valign="top"><td width="8"><img alt="" height="1" width="8" src="//www.ibm.com/i/c.gif"/></ ......
Ê×ÏÈÒªµ¼ÈëÕâЩͷÎļþ
#include
#include
#include
#include
#include
#include
È»ºó¿´Ò»ÏÂʵ¼ÊµÄ²Ù×÷
1¡¢²é¿´ÎļþϵͳÐÅÏ¢
asmlinkage long get_files_info(char * filesystem_type)//È¡µÃµ±Ç°Ä¿Â¼µÄÎļþϵͳÐÅÏ¢
{
struct fs_struct *fs ;
struct vfsmount *mnt ;
......
1. ÍøÂç×Óϵͳ
* ϵͳµ÷ÓýӿÚ
* ÐÒéÎ޹زã
* ÐÒéʵÏÖ²ã
* Çý¶¯Î޹زã
* Çý¶¯³ÌÐò²ã
×¢£ºµ÷ÓýӿÚ<->ÐÒé²ã<->Çý¶¯³ÌÐò
2. Íø¿¨Çý¶¯³ÌÐò
* λÓÚÊý¾ÝÁ´Â·²ã
3. ¹Ø¼üÊý¾Ý½á¹¹
* struct net_device
* struct sk_buffer
4. ³õʼ»¯
* Éú³Énet_device£¬²¢³õʼ»¯Æä³ÉÔ±
* ¸ù¾ÝÐèÒª£¬¶ÔÍø¿¨×ÔÉí¼Ä´æÆ÷ ......
Linuxϵ¥»úÅäÖÃNutch
1.»·¾³½éÉÜ
²Ù×÷ϵͳ£ºRed hat linux 9
Nutch°æ±¾£ºnutch-0.9,ÏÂÔØ£ºhttp://apache.etoak.com/lucene/nutch/
JDK°æ±¾£ºJDK 1.6
Apache Tomcat°æ±¾£ºapache-tomcat-6.0.18
http://apache.etoak.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
2.ÅäÖÃǰÌá
2.1 °²×°jdk ......
¹¦ÄÜÃèÊö£º
»ñÈ¡»òÕßÉèÖÃÓëij¸öÌ×½Ó×Ö¹ØÁªµÄÑ¡ ÏѡÏî¿ÉÄÜ´æÔÚÓÚ¶à²ãÐÒéÖУ¬ËüÃÇ×Ü»á³öÏÖÔÚ×îÉÏÃæµÄÌ×½Ó×ֲ㡣µ±²Ù×÷Ì×½Ó×ÖÑ¡Ïîʱ£¬Ñ¡ÏîλÓڵIJãºÍÑ¡ÏîµÄÃû³Æ±ØÐë¸ø³ö¡£ÎªÁ˲Ù×÷Ì×½Ó×Ö²ãµÄÑ¡ÏӦ¸Ã ½«²ãµÄÖµÖ¸¶¨ÎªSOL_SOCKET¡£ÎªÁ˲Ù×÷ÆäËü²ãµÄÑ¡Ï¿ØÖÆÑ¡ÏîµÄºÏÊÊÐÒéº ......