Òѽâ¾ö£ºLinuxÖÐÓÃsocketʵÏÖÊÓÆµ¡¢ÒôƵµÄͬ²½´«Êä
Òѽâ¾ö£ºLinuxÖÐÓÃsocketʵÏÖÊÓÆµ¡¢ÒôƵµÄͬ²½´«Êä
Posted on ÐÇÆÚËÄ, 4ÔÂ 23rd, 2009 at 1:55 ÉÏÎç
Ô´ÎÄÀ´×Ôhttp://www.isongzi.com/2009/04/23/Òѽâ¾ö£ºlinuxÏÂÓÃsocketʵÏÖÊÓÆµ¡¢ÒôƵµÄͬ²½´«Êä/
ÔÚ֮ǰµÄһƪÎÄÕÂÀïÒѾÌáµ½¹ýÊÓÆµ¡¢ÉùÒôµÄͬ²½´«ÊäÎÊÌ⣬µ±Ê±ÏëÁ˼¸¸ö·½°¸£¬µ±È»¶¼ÊǺܲ»³ÉÊìµÄÏë·¨¡£ÓÐЩÊÂÇéÖ»ÓÐ×öÁ˲ÅÖªµÀµ½µ×Ðв»ÐеÃͨ£¬ÓÐʱºòʵ¼ÊÇé¿ö±ÈÏëÏóµÃÒª¼òµ¥¡£
1¡¢´´½¨Á½¸öÏß³Ì-ÊÓÆµÏ̡߳¢ÒôƵÏ̡߳£
¹ØÓÚÊÓÆµ²¿·ÖµÄʵÏֲο¼ÕâÀÒôƵ²¿·ÖµÄʵÏֲο¼ÕâÀï¡£ÆäÖУ¬ÊÓÆµÊµÏÖµ¥Ïò´«Ê䣬ÒôƵʵÏÖË«Ïò´«Êä¡£Á½¸öÏß³ÌÖ®¼ä²¢Ã»ÓÐ×öÈκÎÀàËÆÓÚ“ÐźÅÁ¿“µÄͬ²½´ëÊ©¡£ÒòΪֻҪ±£Ö¤ÊÓÆµºÍÒôƵÊǔͬʱ“·¢ËÍ£¬ÔÚ½ÓÊն˾ͿÉÒÔ”¼¸ºõ“ͬʱÏÔʾºÍ²¥·Å¡£ÒòΪÊÇÔÚ¾ÖÓòÍøÖд«Ê䣬ËÙ¶ÈÓб£Ö¤£¬ÔÚÒªÇó²»ÊǺܿÁ¿ÌµÄÇé¿öÏ£¬Í¬²½ÊÇ¿ÉÒÔÂú×ãµÄ¡£¶øÇÒ£¬ÊÂʵҲ֤Ã÷ÁË£¬ÕâÖÖºÜÆÓËØµÄ·½·¨ÊÇÐеÃͨµÄ¡£
/*creat video and audio thread*/
pthread_create(&enc_tid,NULL,(void *)video_send, (void *)&arg);
//ÊÓÆµµÄÏêϸ½éÉܲο´ÕâÀï
pthread_create(&audio_tid,NULL,(void *)audio_encdec,(void *)&sockfd_audio);
//ÉùÒôµÄÏêϸ½éÉܲο´ÕâÀï
2¡¢¼ÈȻҪÓÃÁ½¸öÏß³ÌÀ´ÊµÏÖ´«Ê䣬һ¸öºÜ×ÔÈ»µÄÎÊÌâ¾ÍÊÇ£ºÊÓÆµÁ÷ºÍÒôƵÁ÷ÊÇÈçºÎ´¦ÀíµÄ£¿´ð°¸ÊÇ£º½¨Á¢ÓÃÁ½Ìõ¶ÀÁ¢µÄÁ÷£¬Ò»Ìõ´«ÊäÊÓÆµ£¬Ò»Ìõ´«ÊäÉùÒô¡£ÎÒÃÇÖªµÀ£¬socketÔÚ·þÎñÆ÷¶Ë´´½¨Ò»¸ösockfd_serverÖ®ºó£¬Õâ¸ösockfd_server¿ÉÒÔÒ»Ö±¼àÌýÊÇ·ñÓÐÁ¬½ÓÇëÇó¡£Ò²¾ÍÊÇ˵£¬ÎÒÃÇ¿ÉÒÔÔÚ·þÎñÆ÷¶Ë´´½¨Ò»¸öserver_fd£¬È»ºóÁ¬½Ó¿Í»§¶ËµÄÁ½¸öÁ¬½ÓÇëÇó-ÊÓÆµ¡¢ÒôƵ¡£
»¹ÊÇ´úÂë±íʾ¸üÖ±¹Û£º
·¢ËͶˣº£¨×÷Ϊ·þÎñÆ÷¶Ë£¬ºÍÉϴαÈ×öÁ˵÷»»£©
//socketÃèÊö·û
#define port 8000
int sockfd_server;
int sockfd_video;
int sockfd_audio;
//server_initº¯ÊýÒ²¾ÍÊÇÕâÀïµÄrecv_init£¬Ö»ÊÇ»»Á˸öÃû×Ö¡£
sockfd_video=server_init(&sockfd_server,port);
//sockfd_server¼ÌÐø¼àÌýÏÂÒ»¸öÇëÇó¡£
sockfd_audio=accept(sockfd_server,(struct sockaddr *)NULL,NULL);
½ÓÊÕ¶Ë£º£¨×÷Ϊ¿Í»§¶Ë£¬Í¬Ñù×öÁ˵÷»»£©
#define port 8000
int err;
int sockfd_video;
int sockfd_audio;
const char *host_addr=”192.168.1.110″;
/*video socket init */
err=client_init(&sockfd_video,host_addr,port);
if(err==-1){
printf(”socket_video init failed!\
Ïà¹ØÎĵµ£º
¡¾recv/recvfrom/recvmsgϵͳµ÷Óá¿
¹¦ÄÜÃèÊö£º
´ÓÌ×½Ó×ÖÉϽÓÊÕÒ»¸öÏûÏ¢¡£¶ÔÓÚrecvfrom ºÍ recvmsg£¬¿ÉͬʱӦÓÃÓÚÃæÏòÁ¬½ÓµÄºÍÎÞÁ¬½ÓµÄÌ×½Ó×Ö¡£recvÒ»°ãÖ»ÓÃÔÚÃæÏòÁ¬½ÓµÄÌ×½Ó×Ö£¬¼¸ºõµÈͬÓÚrecvfrom£¬Ö»Òª½«recvfromµÄµÚÎå¸ö²ÎÊýÉèÖÃNULL¡£
Èç¹ûÏûϢ̫´ó£¬ÎÞ·¨ÍêÕû´æ·ÅÔÚËùÌṩµÄ»º³åÇø£¬¸ù¾Ý²»Í¬µÄÌ×½Ó×Ö£¬¶àÓà ......
2009Äê12ÔÂ29ÈÕ£¬Ìì¼«ÍøÖ÷°ìµÄÖ÷ÌâΪ“2010ÄêµÄ»ú»á”µÄÑÐÌֻᣬÔÚÖйشåÓ²Å̾ưɾÙÐС£À´×ÔÖпƺìÆì¡¢°Ë°Ù¿Í¡¢Ê±´úÒÚÐÅ¡¢¹ãͨÐÅ´ï¡¢360°²È«ÎÀÊ¿µÄר¼Ò²Î¼ÓÁËÕâ´Î»î¶¯¡£»áÉÏ£¬¼ÇÕßר·ÃÁËÖпƺìÆìÈí¼þ¼¼Êõ¹«Ë¾²úÆ·Êг¡²¿×ܼཪºì¡£
¡¡
¡¡Ì¸Æð¿ª¹ú²úÔ´Èí¼þ2009ÄêµÄ±íÏÖ£¬½ªºì½éÉÜ˵£º“LinuxÒѾÈÕÇ÷³ÉÊì£¬Ê ......
1. TOP ÃüÁî È»ºó°´“1”£¬¿ÉÒԲ鿴CPUÓжàÉÙ¸öºË¡£
2. less /proc/cpuinof ¿ÉÒԲ鿴 CPUÄں˸öÊý¼°¸ü¶àÄÚºËÐÅÏ¢¡£
3.dmesg |grep CPU ¿ÉÒÔºËʵCPUÄں˸öÊýÇÒ»ùÓÚ¶àÉÙ¸öÎïÀíCPU¼°ÏêϸÐÅÏ¢¡£
4.dmidecode |grep "CPU" ¿ÉÒÔºËʵ¶àÉÙ¸öÎïÀíCPU¡£
ÁíÍâ grep '' * ÓÐÃîÓ㬿ÉÒԲ鿴 ......
ÕâôÄã¾ÍÐèÒªÐÞ¸ÄÒ»ÏÂ×Ö·û±àÂëµÄÅäÖá£
# cd /etc/sysconfig
# vi i18n
-------------------ÎļþÄÚÈÝ------------------
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
-----------------------£ºqw ±£´æÍ ......
SyslogÉ豸ÒÀ¾ÝÁ½¸öÖØÒªµÄÎļþ£º/etc/syslogd£¨ÊØ»¤½ø³Ì£©ºÍ/etc/syslog.confÅäÖÃÎļþ£¬Ï°¹ßÉÏ£¬¶àÊýsyslog ÐÅÏ¢±»Ð´µ½/var/adm»ò/var/logĿ¼ÏµÄÐÅÏ¢ÎļþÖУ¨messages.*£©¡£Ò»¸öµäÐ͵Äsyslog¼Í¼°üÀ¨Éú³É³ÌÐòµÄÃû×ÖºÍÒ»¸öÎı¾ÐÅÏ¢¡£Ëü»¹°üÀ¨Ò»¸öÉ豸ºÍÒ»¸öÓÅÏȼ¶·¶Î§£¨µ«²»ÔÚÈÕÖ®ÖгöÏÖ£©¡£
¡¡¡¡Ã¿¸ösyslogÏûÏ¢±»¸³ÓèÏ ......