Linux TCP Socket³ÌÐò·ÖÎö
/************************
cÓïÑÔ±àдµÄtcp socketͨÐŵÄserver¶Ë¡£
¿ÉÒÔ³ÖÐø¼àÌýmyprotÖ¸¶¨µÄ¶Ë¿Ú
´òÓ¡¶Ë¿Ú½ÓÊÕµ½µÄ×Ö·ûÁ÷
Í·ÎļþÒòΪ¼âÀ¨ºÅ±»×ªÒ壬ËùÒÔÓÃÁËÒýºÅ
************************/
#include "stdio.h"
#include "stdlib.h"
#include "errno.h"
#include "string.h"
#include "sys/types.h"
#include "netinet/in.h"
#include "sys/socket.h"
#include "sys/wait.h"
int main(int argc,char **argv)
{
int sockfd, new_fd;
struct sockaddr_in my_addr;
struct sockaddr_in their_addr;
unsigned int sin_size,myport,listnum;
myport = 9785; //°ó¶¨µÄ¶Ë¿ÚºÅ
listnum = 10;
/*************************************************
Socket½Ó¿Ú£ºÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àµÄº¯Êý£¬¿ÉÒÔ
ÔÚ´Ë»ù´¡ÉÏ¿ª·¢InternetÉϵÄTCP/IPÍøÂç±à³Ì
Create Socket: int socket(int domain, int type, int protoco);
Argument Description:domain Ö¸Ã÷ËùÓÐÐÒé×壬ͨ³£ÊÇPF_INET(TCP/IPV4)
µ±È»ËûÒ²¿ÉÒÔÖ§³ÖIPV6£¬ºÍ¸ü¶àµÄÍøÂçÐÒ飬¸ù¾Ý
¾ßÌåµÄÓ¦ÓÃÀ´Ñ¡Ôñ
type ·ÖSOCK_STREAM(TCP),SOCK_DGRAM(UDP),SOCK_RAW
Ïà¹ØÎĵµ£º
2 Ô 3 ÈÕ£¬ Linux Äں˿ª·¢Õß Greg Kroah-Hartman ½« Android µÄÇý¶¯³ÌÐò´Ó Linux Äں˓״̬Ê÷”£¨“ staging tree” £©ÉϳýÈ¥£¬´Ó´Ë£¬ Android Óë Linux ¿ª·¢Ö÷Á÷½« ......
ÎÒÕâÀï˵µÄioctlº¯ÊýÊÇÔÚÇý¶¯³ÌÐòÀïµÄ£¬ÒòΪÎÒ²»ÖªµÀ»¹ÓÐûÓбðµÄ³¡ºÏÓõ½ÁËioctl£¬ ËùÒԾ͹涨ÁËÎÒÃÇÌÖÂ۵ķ¶Î§¡£ÎªÊ²Ã´ÒªÐ´ÆªÎÄÕÂÄØ£¬ÊÇÒòΪÎÒǰһÕó×Ó±»ioctl¸ø¸ã»ìÁË£¬Õ⼸Ìì²ÅŪÃ÷°×Ëü£¬ÓÚÊÇÔÚÕâÀïÇåÀíÒ»ÏÂÍ·ÄÔ¡£
Ò»¡¢ ʲôÊÇioctl¡£
ioctlÊÇÉ豸Çý¶¯³ÌÐòÖжÔÉ豸µÄI/OͨµÀ½øÐйÜÀíµÄº¯Êý¡£Ëùν¶ÔI/OͨµÀ½øÐйÜÀí£ ......
Ïà¹Øº¯Êý
fork£¬execve£¬waitpid£¬popen
±íÍ·Îļþ
££i nclude<stdlib.h>
¶¨Ò庯Êý
int system(const char * string);
º¯Êý˵Ã÷
system()
»áµ÷ÓÃfork()²úÉú×Ó½ø³Ì£¬ÓÉ×Ó½ø³ÌÀ´µ÷ÓÃ/bin/sh-c
stringÀ´Ö´ÐвÎÊýstring×Ö·û´®Ëù´ú±íµÄÃüÁ´ËÃü>ÁîÖ´ÐÐÍêºóËæ¼´·µ»ØÔµ÷ÓõĽø³Ì¡£ÔÚµ÷ÓÃsystem()ÆÚ¼äSIGCHLD ......
Linux¿ª»ú¹ý³Ì
1. BIOS£º¿ª»úÖ÷¶¯Ö´ÐеÄÈÍÌ壬»áÈÏʶµÚÒ»¸ö¿É¿ª»úµÄ×°Öã»
2. MBR£ºµÚÒ»¸ö¿É¿ª»ú×°ÖõĵÚÒ»¸öÉÈÇøÄÚµÄÖ÷ÒªÆô¶¯¼ÇÂ¼Çø¿é£¬ÄÚº¬¿ª»ú
¹ÜÀí³ÌÐò£»
3. ¿ª»ú¹ÜÀí³ÌÐò(boot loader)£ºÒ»¸ö¿É¶ÁÈ¡ºËÐÄÎļþÀ´Ö´ÐеÄÈí¼þ£»
4. ºËÐÄÎÄ ......