linux socketѧϰ±Ê¼Ç£¨µÚ¶þÕ£©
ÓòºÍµØÖ·×å
ÓÐÒ»¸öºÜÇ¡µ±µÄ±ÈÓ÷˵Ã÷Ì×½Ó¿Ú±à³Ì£¬Ì׽ӿھͺñȵ绰£¬¶øµç»°ÍøÖеĵ绰ºÅÂë¾ÍºÃÏñÌ×½Ó¿ÚµØÖ·¡£ËµÃ÷Ì×½Ó¿Ú¿ÉÒÔÓÃÌØ¶¨µÄµØÖ·À´±êʾ×Ô¼º¡£²¢²»ÊÇËùÓеÄÌ×½Ó¿Ú¶¼ÐèÒªµØÖ·£¬±ÈÈçÎÞÃûÌ׽ӿھͲ»ÐèÒªµØÖ·£¬ÀýÈ纯Êýsocketpair(2)¾ÍÉú³ÉÁËÒ»¶Ô»¥Ïà¿ÉÒÔÁ¬½Óµ«ÊÇȴûÓеØÖ·µÄÌ×½Ó¿Ú¡£ÊéÖбÈÓ÷˵¾ÍºÃÏñÊÇÀäսʱÆÚËÕÁªºÍÃÀ¹úÖ®¼äµÄÈÈÏߵ绰һÑù£¬Ö±½ÓÏàÁ¬£¬²»ÐèÒªµç»°ºÅÂë¡£
Óò(domain)£¬ÔÚsocketÖУ¬²»½ö¿ÉÒÔÖ§³ÖTCP/IPÐÒ飬Ҳ¿ÉÒÔÖ§³ÖÆäËûÐÒ飬socketÖеIJÎÊýdomainµÄ×÷ÓÃÕýÔÚÓÚ´Ë¡£»Ø¹ËÒ»ÏÂsocketpair(2)º¯ÊýµÄÓï·¨¿ÉÒÔ¿´µ½¡£
#include <sys/types.h>
#include <sysy/socket.h>
int socketpair( int domain , int type , int protocol , int sv[2] );
ÔÚsocketpair(2)º¯ÊýÖУ¬domain²ÎÊýҪôÊÇAF_LOCAL,ҪôÊÇAF_UNIX. ÆäʵËûÃÇÊǵȼ۵ġ£AF_LOCALµÄǰ׺AF±íʾµØÖ·×壨address family£©£¬domain²ÎÊýµÄÓÃ;¾ÍÊÇ˵Ã÷º¯ÊýÊDzÉÓÃÄĸöµØÖ·×å¡£Ö®ºó»¹»á³öÏÖPF_µÄºê£¬ÏÖÔÚ¿ÉÒÔÔÝʱÈÏΪÊǵȼ۵ġ£
AF_LOCAL±íʾʹÓñ¾µØµØÖ·¹æÔòÀ´Éú³ÉµØÖ·£¬AF_INET±íʾʹÓÃIPµØÖ·¹æÔòÀ´Éú³ÉµØÖ·¡£BSDµÄ½â¾ö·½°¸ÌṩÁËÒ»ÖÖͨÓõĵØÖ·½á¹¹ÈçÏ£º
#include <sys/socket.h>
struct sockaddr{
sa_family_t sa_family ; /* µØÖ·×å */
char sa_data[14] ; /* µØÖ·Êý¾Ý */
};
¶ÔÓÚ±à³ÌÕßÀ´Ëµ£¬Í¨ÓÃÌ×½Ó¿Ú±¾ÉíûÓÐʲôÓô¦£¬µ«ÊÇËüΪÆäËûµØÖ·½á¹¹ÌṩÁËÒ»¸öÖØÒªµÄ²Î¿¼Ä£ÐÍ£¬±ÈÈçËùÓеĵØÖ·¶¼ÒªÔڽṹÖеÄͬÑùλÖö¨Òåsa_family³ÉÔ±£¬ÒòΪËû¾ö¶¨ÁËÔõô·Òë½á¹¹Öаüº¬µØÖ·ÐÅÏ¢µÄ×Ö½Ú¡£
Éú³É±¾µØµØÖ·AF_LOCAL»òÕßAF_UNIXµÄµØÖ·µÄ½á¹¹ÃûÊÇsockaddr_un.
ÔÚLinuxÖУ¬Ê¹ÓÃ×îÆÕ±éµÄµØÖ·×åÊÇAF_INET.¾ßÓÐIPv4Ì×½Ó¿ÚµØÖ·µÄÌ×½Ó¿Ú¿ÉÒÔÓëTCP/IPÉÏµÄÆäËûÖ÷»ú½øÐÐͨÐÅ¡£Ò»ÏÂÊÇCÓïÑÔÃèÊöµÄ½á¹¹sockadd
Ïà¹ØÎĵµ£º
DBA£ºLinux
ÔÚ Linux x86 Éϰ²×° Oracle RAC 10g
×÷ÕߣºJohn Smiley
Á˽âÔÚ Red Hat Enterprise Linux »ò Novell SUSE Enterprise Linux ÉÏ´ÓÍ·°²×° Oracle RAC 10g µÄ»ù´¡ÖªÊ¶£¨½öÓÃÓÚÆÀ¹À£©
Ŀ¼
¸ÅÊö
±³¾°
µÚ 1 ²¿·Ö£º °²×° Linux
µÚ 2 ²¿·Ö£º Ϊ Oracle ÅäÖà Linux
µÚ 3 ²¿·Ö£º ×¼±¸¹²Ïí´ÅÅÌ
µÚ 4 ²¿·Ö£º ......
½ñÌì×°ÁËÒ»ÌìµÄLinuxϵͳ£¬ÓëÆä˵°²×°»¹²»Èç˵ÊÇÏÂÔØÁËÒ»Ì죬ÏȺó×°ÁËfedora core 4£¬fedora core 6£¬×îºó×°fedora core 8ÖÕÓÚ¿ÉÒÔÓÃÁË£¬Ã¿¸ö¶¼ÊÇ3G¶à£¬ÒòΪÔÚѧУµÄ¹¤×÷ÊÒ£¬ËùÒÔÏÂÔØËÙ¶ÈÆ½¾ù¿ÉÒÔ´ïµ½1.9M²»µ½£¬Õâ¿ÉÊÇÏÞËٵ쬾ÍËãÕâÑùÎҵĵçÄÔÒ²ÒòΪÏÂÔØËÙ¶ÈÌ«¿ìËÀÁËN»ØÁË£¬¶¼ÊÇÇ¿ÖÆPowerµÄ£¬ÕæµÃ×°µÃÓеãÓôÃÆ°¡£¬×°FC4ÊÇÒ ......
Linuxϲ鿴֧³ÖµÄÐźÅÁбí:
~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGUR ......
ÔÚLinuxÏÂÃæÈ¥Ñ¹ËõÎļþ»òÕßĿ¼¡£ÎÒÃǽ«Ñ§Ï°zip, tar, tar.gzºÍtar.bz2µÈѹËõ¸ñʽµÄ»ù±¾Ó÷¨¡£
zip¸ñʽÒѳÉΪѹËõÎļþµÄ±ê׼ѡÔñ£¬¶øÇÒËüÔÚwindowsÉÏÒ²ÄÜʹÓá£
¾³£ÓÃzip¸ñʽѹËõÄÇЩÐèÒª¹²Ïí¸øwindowsÓû§µÄÎļþ¡£
Èç¹ûÖ»Êǹ²Ïí¸ølinuxÓû§»òÕßMacÓû§£¬Æ«ÏòÓÚÑ¡Ôñtar.gz¸ñʽ¡£
ZIP
zip¿ÉÄÜÊÇĿǰʹÓõÃ×î¶àµÄÎĵµ ......
д¹²ÏíÄÚ´æ³ÌÐò£º
/*
* File: server.cpp
* Author: centos
*˵Ã÷£º´Ó¼üÅ̶ÁÈëÊý¾Ý£¬´æ·ÅÔÚ¹²ÏíÄÚ´æÖС£
* Created on 2010Äê3ÔÂ1ÈÕ, ÏÂÎç3:44
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include < ......