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 C + + Training
Syllabus
________________________________________
1, Linux Operating System
System Environment: Ubuntu GNU / Linux, RedHat Linux AS5,
FreeBSD
Course Requirements: proficient use of commonly used Linux
/ UNIX commands.
Time: 1 week.
______________________________ ......
2009 Äê 10 ÔÂ 29 ÈÕ
±¾ÎÄÊÇ Unix/Linux ϵͳ¹ÜÀí×Ô¶¯»¯ÏµÁÐÖеÄһƪÎÄÕ£¬Ö÷Òª½éÉÜÁËÄÚ´æ¹ÜÀíËùÉæ¼°µÄÃüÁ²¢Í¨¹ý±àд×Ô¶¯»¯½Å±¾ÊµÏÖÁËÄÚ´æ¹ÜÀíÓë¼à¿ØµÄ×Ô¶¯»¯
ÄÚ´æÊÇ Unix/Linux ÄÚºËËù¹ÜÀíµÄ×îÎªÖØÒªµÄ×ÊÔ´Ö®Ò»£¬ÄÚ´æ¹ÜÀíÊÇϵͳ¹ÜÀíÖзdz£ÖØÒªÒ²ÊÇ×ÔӵĵIJ¿·Ö¡£ÏµÍ³¹ÜÀíÔ±ÐèÒªÕÆÎÕÄÚ´æ¹ÜÀíµÄ»ù±¾¹¤×÷ÔÀíÒÔ¼°Ê¹Óú ......
Ãû³Æ
daemon-ÔËÐÐÓÚºǫ́
¸ÅÒª
#include <unistd.h>
int daemon(int nochdir, int noclose);
ÃèÊö
daemon()º¯Êý£¬Ö÷ÒªÓÃÓÚijЩ³ÌÐòÏ£Íû×Ô¼ºÍÑÀëÖն˵ĿØÖƶøÔËÐÐ ......
#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;
} ......
ÏÂÃæÊÇÄÚºËÔ´Âë·ÖÎö¹ý³ÌÖÐÓöµ½µÄÎÊÌâÏà¹ØÎÄÕµĽâÊÍ¡£
1. ¶Ôcontainer_ofµÄÀí½â
Õë¶ÔÄÚºËÖÐÓйØÓÚlistµÄÌØÊâʵÏÖ£¬ÔÚ±éÀúÁ´±í¸÷ÔªËØµÄʱºò£¬ÎªÁË»ñÈ¡Æä³ÉÔ±ÖµÓõ½ÁËcontainer_ofºê£¬ÉÏÃæÎļþÊǹØÓڸúêʵÏÖµÄÏêϸ½âÊÍ¡£
--------²»¶Ï¸üÐÂ------- ......