linux socketµÄselectº¯ÊýÀý×Ó
ʹÓÃselectº¯Êý¿ÉÒÔÒÔ·Ç×èÈûµÄ·½Ê½ºÍ¶à¸ösocketͨÐÅ¡£³ÌÐòÖ»ÊÇÑÝʾselectº¯ÊýµÄʹÓ㬹¦Äܷdz£¼òµ¥£¬¼´Ê¹Ä³¸öÁ¬½Ó¹Ø±ÕÒÔºóÒ²²»»áÐ޸ĵ±Ç°Á¬½ÓÊý£¬Á¬½ÓÊý´ïµ½×î´óÖµºó»áÖÕÖ¹³ÌÐò¡£
1. ³ÌÐòʹÓÃÁËÒ»¸öÊý×éfd_A£¬Í¨ÐÅ¿ªÊ¼ºó°ÑÐèҪͨÐŵĶà¸ösocketÃèÊö·û¶¼·ÅÈë´ËÊý×é¡£
2. Ê×ÏÈÉú³ÉÒ»¸ö½Ðsock_fdµÄsocketÃèÊö·û£¬ÓÃÓÚ¼àÌý¶Ë¿Ú¡£
3. ½«sock_fdºÍÊý×éfd_AÖв»Îª0µÄÃèÊö·û·ÅÈëselect½«¼ì²éµÄ¼¯ºÏfdsr¡£
4. ´¦ÀífdsrÖпÉÒÔ½ÓÊÕÊý¾ÝµÄÁ¬½Ó¡£Èç¹ûÊÇsock_fd£¬±íÃ÷ÓÐÐÂÁ¬½Ó¼ÓÈ룬½«Ð¼ÓÈëÁ¬½ÓµÄsocketÃèÊö·û·ÅÖõ½fd_A¡£
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define MYPORT 1234 // the port users will be connecting to
#define BACKLOG 5 // how many pending connections queue will hold
#define BUF_SIZE 200
int fd_A[BACKLOG]; // accepted connection fd
int conn_amount; // current connection amount
void showclient()
{
int i;
printf("client amount: %d\n", conn_amount);
for (i = 0; i < BACKLOG; i++) {
printf("[%d]:%d ", i, fd_A[i]);
}
printf("\n\n");
}
int main(void)
{
int sock_fd, new_fd; // listen on sock_fd, new connection on new_fd
struct sockaddr_in server_addr; // server address information
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
LINUX³£ÓÃÃüÁ»ù´¡£©
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬È ......
1¹Ø»úÃüÁî shutdown
¡¡¡¡ºÃÏñubuntuµÄÖÕ¶ËÖÐĬÈϵÄÊǵ±Ç°Óû§µÄÃüÁֻÊÇÆÕͨÓû§£¬Òò´ËÔÚÖÕ¶ËÆ÷ÖпÉÒÔʹÓÃsudo -sh ת»»µ½¹ÜÀíÔ±rootÓû§ÏÂÖ´ÐÐÃüÁî¡£
¡¡¡¡1)shutdown –help
¡¡¡¡¿ÉÒԲ鿴shutdownÃüÁîÈçºÎʹÓ㬵±È»Ò²¿ÉÒÔʹÓÃman shutdownÃüÁî¡£
¡¡¡¡2£© shutdown -h now ÏÖÔÚÁ¢¼´¹Ø»ú
¡¡¡¡3£©shutdown ......
LinuxÄں˹¹½¨ÏµÍ³ÔÀí
²¿·ÖÒë×Ô£º¡¶Embedded Linux System Design and Development ¡· BY P. Raghavan / Amol Lad / Sriram Neelakandan
Áõ½¨ÎÄÂÔÒ루http://blog.csdn.net/keminlau £©
KEY£ºÄں˹¹½¨ Äں˱àÒë kbuild Linux
ÄÚºËÓëÓ¦ÓóÌÐò·Ö¿ª¹¹½¨
ÄÚºËÓëÓ¦ÓóÌÐò±»Éè¼Æ³É·Ö¿ª¹¹½¨µÄ£¬ÓÉCÍ·ÎļþºÍC¿âʵÏÖ£ ......
ÏÂÃæÓÃ×ÔÆô¶¯apacheΪÀý;
×ÔÆô¶¯½Å±¾:
/usr/local/apache2/bin£»
./apachectl start
ÎļþλÓÚ/etc/rc.d/init.dÏÂ,ÃûΪapached, ×¢ÒâÒª¿ÉÖ´ÐÐ.
#chmod +x /etc/rc.d/init.d/apached //ÉèÖÃÎļþµÄÊôÐÔΪ¿ÉÖ´ÐÐ
#ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //½¨Á¢ÈíÁ¬½Ó,¿ì½Ý·½Ê½
#ln -s /etc/rc.d/init.d/a ......