Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux epollÓÃÓÚsocket¿ØÖÆ ´úÂëʵÀý

¹ØÓÚepollʹÓ÷½·¨£º
²ÎÕÕ£º  http://linux.die.net/man/4/epoll
ʵÀý´úÂ룺£¨À´×ÔÍøÉÏijÂÛ̳£©
#include <pthread.h>
#include <stdio.h>
#include <sys/timeb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/epoll.h>
#include <netinet/in.h>
#include <string.h>
#include <fcntl.h>
#include <signal.h>
#include <errno.h>
#define MAX_CLIENT 101
#define PORT 3355
#define DEBUG
int listenfd;
//ÉèÖÃsocketÁ¬½ÓΪ·Ç×èÈûģʽ
void nonblock(int sockfd)
{
    int opts;
    opts = fcntl(sockfd, F_GETFL);
    if(opts < 0)
    {
        perror("fcntl(F_GETFL)\n");
        exit(1);
    }
    opts = (opts | O_NONBLOCK);
    if(fcntl(sockfd, F_SETFL, opts) < 0)
    {
        perror("fcntl(F_SETFL)\n");
        exit(1);
    }
}
int main()
{
    int epfd;
    struct epoll_event *events;
    struct epoll_event ev;
   
    struct sockaddr_in srv;
    int clifd;
    int i;
    int n;
    int res;
    char buffer[1024];
    //´´½¨·þÎñÆ÷¶Ësocket
    if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    {
        perror("sockfd\n");
        exit(1);
    }
    bzero(&srv, sizeof(srv));
    srv.sin_family = AF_INET;
    srv.sin_addr.s_addr = htonl(INADDR_ANY);;
    srv.sin_port = htons(PORT);
    //·


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

SUSE Linux ά»¤±Ê¼ÇÒ»

SUSE Linux ά»¤±Ê¼Ç Ò»
1. Linuxʱ¼ä¸üÐÂÉèÖÃ
Ê±ÇøÉ趨:
#Ö÷ÒªÎļþ
/etc/sysconfig/clock
#Óñ±¾©Ê±¼äµÄÕýÈ·ÄÚÈÝÓ¦¸ÃÊÇ
TIMEZONE="Asia/Beijing"
DEFAULT_TIMEZONE="Asia/Beijing"
#ͬʱȷ±£ /etc/localtimeÎļþÊÇ/usr/share/zoneinfo/Asia/BeijingµÄ¿½±´
±£³Ö¸üÐÂ:
ÔÚ/etc/crontabÖмÓÈëÒ» ......

windowsʹÓÃXmanagerÔ¶³Ì×ÀÃæ¿ØÖÆlinuxϵͳ


ËäÈ»ÎÒÃÇϰ¹ßÓÚlinuxÏÂÃüÁîÐвÙ×÷,µ«Êǰ²×°Ä³Ð©Èí¼þ±ØÐëÊÇ»ùÓÚGUIÏÂÃæµÄ,Õâ¸öʱºò×ܲ»ÄÜÅܵ½»ú·¿È¥°²×°°É,µ«ÎÒÃÇ¿ÉÒÔʹÓÃXmanagerÈí¼þʵÏÖ¶Ôlinux½øÐÐÔ¶³Ì¿ØÖÆ.
 
µÚÒ»²½£¬ÎÒÃÇÔÚ
LINUX
ϵͳÏ£¬ÐÞ¸Ä
/etc/X11/xdm/Xaccess
Îļþ£¬ÕÒµ½ÏÂÃæÓï¾ä£º
# *# any host can get a login window
È¥µô×îÇ°ÃæµÄ
#
ºÅ ......

linux »ñÈ¡µ±Ç°³ÌÐò·¾¶

#include <stdio.h>
#include <unistd.h>
int main() {
char link[100], path[100];
sprintf(link, "/proc/%d/exe", getpid());
readlink(link, path, sizeof(path));
printf("%s\n.", path);
return 0;
} ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ