Linux Socket±à³ÌʵÀý(Ò»¸öHello World³ÌÐò)
Linux Socket±à³ÌʵÀý(Ò»¸öHello World³ÌÐò)
ÔÚLinuxÏÂдÁ˸öСµÄsocket³ÌÐò£¬·ÖΪ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë,·þÎñ¶Ë¿ªÒ»¸ö¶Ë¿Ú(2000),×öΪһ¸ödaemon,µÈ´ý¿Í»§µÄÁ¬½ÓÇëÇó.Ò»µ©Óпͻ§Á¬½Ó,·þÎñÆ÷¶Ë´òÓ¡³ö¿Í»§¶ËµÄIPµØÖ·ºÍ¶Ë¿Ú,²¢ÇÒÏò·þÎñÆ÷¶Ë·¢ËÍ»¶ÓÐÅÏ¢ºÍʱ¼ä.ÏÂÃæÊÇ·þÎñ¶ËµÄ´úÂë(tcpserver.c).ÓÉÓÚÕâÖ»ÊǸö¼òµ¥µÄ³ÌÐò£¬ËùÒÔÖ»ÓÃÁ˵¥Ïß³ÌʵÏÖ!
/**
* Tcp Server program, It is a simple example only.
* zhengsh 200520602061 2
* when client connect to server, send a welcome message and timestamp in server.
*/
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <time.h>
#define SERVER_PORT 20000 // define the defualt connect port id
#define LENGTH_OF_LISTEN_QUEUE 10 //length of listen queue in server
#define BUFFER_SIZE 255
#define WELCOME_MESSAGE "welcome to connect the server. "
int main(int argc, char **argv)
{
int servfd,clifd;
struct sockaddr_in servaddr,cliaddr;
if ((servfd = socket(AF_INET,SOCK_STREAM,0)) < 0)
{
printf("create socket error!\n");
exit(1);
}
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(SERVER_PORT);
servaddr.sin_addr.s_addr = htons(INADDR_ANY);
if (bind(servfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)
{
printf("bind to port %d failure!\n",SERVER_PORT);
exit(1);
}
if (listen
Ïà¹ØÎĵµ£º
֮ǰ£¬Ò»Ö±À§ÄպܾõÄMySQLµÄÎÊÌâÒòΪÓÐÁËtcmallocºóµÃÒÔ½â¾ö¡£
ÎÊÌâÊÇ£ºÍøÕ¾·ÃÎÊÁ¿²»¸ß£¬¸ß·åʱ²¢·¢ÊýÔÚ300-400Ö®¼ä¡£CPU±È½Ï¸ß£¬ÔÚ30-80%Ö®¼ä²¨¶¯µÃÀ÷º¦£¬Ê¹ÓÃtopÃüÁî¿ÉÒÔ¿´µ½ÊÇmysql½ø³Ìµ¼Ö£¬Í¬Ê±ÓÃiostatºÍsar²é¿´iowaitÖµºÜ¸ßÔÚ20-30Ö®¼ä¡£
µ«ÊÇϵͳ»¹¿ÉÒÔÎȶ¨ÔËÐУ¬È»ºóÖÜÆÚÐԵijöÏÖswap·ÖÇøÕ¼ÓÃÂÊÅÊÉý£¬Ö±½Óµ¼Ö ......
±¾ÎÄÊÇһλÇ廪ÍËѧѧÉúËùд!ËûµÄÃû×Ö½ÐÍõÛó,È˺ܳöÃû£¬²»ÐÅGOOGLEһϾÍÖªµÀ£¡
ÎÒÒѾ°ëÄêûÓÐʹÓà Windows µÄ·½Ê½¹¤×÷ÁË¡£Linux ¸ßЧµÄÍê³ÉÁËÎÒËùÓеŤ×÷¡£
GNU/Linux ²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã
²»ÐèÒªÁ˽âÏÂÃæÕâЩÁË¡£
ÎÒ²»ÊÇÒ»¸ö¿ñÈȵÄ×ÔÓÉÈí¼þ·Ý×Ó£¬ËäÈ»ÎÒºÜϲ»¶×ÔÓÉÈí¼þ¡ ......
LinuxÐÂÊÖÒªÁ˽âµÄÊ®¸ö֪ʶµã
¡¡¡¡1.LinuxÊÇ´óСдÃô¸ÐµÄϵͳ£¬¾Ù¸öÀý×Ó£¬Mozilla, MOZILLA, mOzillaºÍ mozillaÊÇËĸö²»Í¬µÄÃüÁµ«ÊÇÖ»ÓеÚËĸömozillaÊÇÕæÕýÓÐЧµÄÃüÁ¡£»¹ÓУ¬my_filE, my_file,ºÍ my_FILEÊÇÈý¸ö²»Í¬µÄÎļþ¡£Óû§µÄµÇ¼ÃûºÍÃØÃÜÒ²ÊÇ´óСдÃô¸ÐµÄ£¨ÕâÊÇÒòΪUNIXϵͳºÍCÓïÑԵĴ«Í³Ò»ÏòÊÇ´óСд ......
»¹ÊǸßÖеÄʱºò£¬Ñ§Ð£°²ÅżÆËã»ú¿Î£¬ºÃÏñ½Ì²Ä½Ð¡¶¼ÆËã»úXXX¡·¡£´ÓÄÇÀïÃæÖªµÀÓиö¶«Î÷½Ðlinux£¬ÄÇÊǵÚÒ»´ÎÖªµÀlinux¡£ºóÀ´¼ÒÀïÂòÁĘ̈µçÄÔ£¨Æ·ÅÆ»ú£©Ô¤×°windows xp¡£ËÍÁËÒ»ÕÅϵͳÅÌ“ÉñÖÝÊÀ¼ÍÖÐÎÄ×ÀÃæÏµÍ³”£¬Æäʵ¾ÍÊÇRed flag linuxÄÚºËÊÇ2.4.27µÄ¡£µ±Ê±Á¬xpºÍ2000¶¼²»ÖªµÀÊÇÔõô»ØÊ£¬ ......
¹éÄÉÒ»ÏÂlinuxÏ¿ª·¢µÄautomakeÏà¹ØµÄ£¬Ã»ÓÐʱ¼äдֻºÃ×ªÔØÒ»Ð©ºÃµÄÁË
±¾ÎÄ×ªÔØÓÚ£º http://xunet.blog.51cto.com/138167/22019
ʹÓÃAutomake,AutoconfÉú³ÉMakefile
ÔÚUnixÉÏд¹ý³ÌÐòµÄÈËÓÈÆäÊÇÓà C À´¿ª·¢³ÌÐòµÄÈËÒ»°ã¶¼Óöµ½¹ý Makefile£¬Óà make
À´¿ª·¢ºÍ± ......