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

Linux socket API ʹÓÃʵÀý

°´ÏÂÃæ²½ÖèÀ´×ö£¬¿ÉÒÔ¼òµ¥ÌåÑésocket APIµÄʹÓ᣾ßÌ庯ÊýµÄÒâÒ壬Çë²Î¿¼ÆäËû˵Ã÷Îĵµ¡£
ÏÂÃæµÄº¯ÊýÖ±½Ócopy, paste¾Í¿ÉÒÔÁË¡£
Step1. ´´½¨Server ³ÌÐò¡£
н¨Îļþsocket_s.c, ÄÚÈÝÈçÏ£º
-------------------------------------------
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 2323
#define SERVER_IP "192.168.1.101"
int main()
{
    int s, s2;
    struct sockaddr_in addr;
    struct sockaddr_in addr2;
    char buffer[256];
    int sin_size;
    if((s=socket(AF_INET, SOCK_STREAM, 0))<0)
    {
        printf("creat socket error!\n");
        perror("socket");
        exit(1);
    }
   
    bzero(&addr, sizeof(addr));
    addr.sin_family = AF_INET;
    addr.sin_port = htons(PORT);
    addr.sin_addr.s_addr = inet_addr(SERVER_IP);
    bzero(&(addr.sin_zero), 8);
    if(bind(s, (struct sockaddr *)&addr, sizeof(struct sockaddr))==-1)
    {
        perror("bind socket error!");
        exit(1);
    }
    if(listen(s, 10) == -1)
    {
        perror("LISTEN");
        exit(1);
    }
    while(1)
    {
        sin_size = sizeof(struct sockaddr_in);
        printf("server is run\n");
       


Ïà¹ØÎĵµ£º

ºìñЯÊÖ»ªÇåÔ¶¼û¹²½¨¹úÄÚLinux¿ª·¢È˲ÅÅàÑø±ê×¼

 
À´Ô´£º»ªÇåÔ¶¼ûǶÈëʽѧԺ    
ºìñ¹«Ë¾´óÖлªÇøÅàѵ·þÎñ×Ü¼à»Æ½¨Ò«Ó뻪ÇåÔ¶¼û½ÌÓý¼¯ÍÅ×ܲü¾¾Ã·å¹²Í¬ÇìºØºÏ×÷³É¹¦
2010Äê5ÔÂ18ÈÕ£¬»ªÇåÔ¶¼û½ÌÓý¼¯ÍÅÓëºìñ´óÖлªÇø¹ØÓÚLinux¿ª·¢È˲ÅÅàÑøµÄºÏ×÷ǩԼÒÇʽÔÚ±±¾©ÊÀ¼Í²Æ¸»ÖÐÐĺìñ¹«Ë¾×ܲ¿Õýʽ¾ÙÐУ¬ºìñ´óÖлªÇøÅàѵ·þÎñ×Ü¼à»Æ½¨Ò«¡¢»ªÇåÔ¶¼û½ ......

LINUX ¿â×ÊÁÏ´óÈ«

¾­¹ý³¤Ê±¼äѧϰlinux¿âÎļþµÄ¸ÅÄ½ñÌìС±àÒ²¸ø´ó¼ÒËѼ¯Á˹ØÓÚ¿âµÄ¸ÅÄîÒÔ¼°×÷Óã¬Ï£Íû´ó¼Ò¿´ºó»áÓкܶàÊÕ»ñ¡£
1.ʲôÊÇlinux¿â
ÔÚwindowsƽ̨ºÍlinuxƽ̨϶¼´óÁ¿´æÔÚ×ſ⡣±¾ÖÊÉÏÀ´Ëµ¿âÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖÆÐÎʽ£¬¿ÉÒÔ±»²Ù×÷ÏµÍ³ÔØÈëÄÚ´æÖ´ÐС£ÓÉÓÚwindowsºÍlinuxµÄ±¾Öʲ»Í¬£¬Òò´Ë¶þÕß¿âµÄ¶þ½øÖÆÊDz»¼æÈݵġ£±¾ÎĽö ......

LinuxÏÂselectµÄʹÓÃС¼Ç

½ñÌìʹÓÃselect±à³Ì£¬ÎÊÌâºÜ¶à£¬ÒÔÇ°ÕæµÄûÓÐ×ÐϸÑо¿¹ý¡£
³öÏÖÁËÒÔϼ¸¸öÎÊÌâ
1 recvfromÔÚ½ÓÊÕʱ£¬Ìṩ¸øÏµÍ³µ÷ÓõÄ×îºóÒ»¸ö²ÎÊý£¬¿Í»§¶ËµÄµØÖ·½á¹¹£¬Æä³¤¶È±ØÐë½øÐгõʼ»¯£¬Èç¹ûΪ0£¬Ôò²»ÄܽÓÊÕÊý¾Ý¡£
2 selectµÄµÚÒ»¸ö²ÎÊýΪËùÓмàÊÓµÄÎļþÃèÊö·ûµÄ×î´óÖµ+1£¬¶ø²»ÊǼàÊÓµÄÎļþÃèÊö·û¸öÊý+1¡£
3 ²»Òª¼àÊÓÄÇЩ¾­³£¿ÉÓ ......

linuxϽûÖ¹ÐÞ¸ÄDNS·þÎñÆ÷µØÖ·(DNS±»×Ô¶¯ÐÞ¸ÄÎÊÌâ)

´ó¼Ò¶¼ÖªµÀÐÞ¸ÄlinuxϵÄDNS¿ÉÒÔÖ±½ÓÐÞ¸Ä/etc/resolv.conf:
root@xuanfei-desktop:~#vim /etc/resolv.conf
nameserver ip //ÌîÉÏÄãµ±µØÊ¹ÓõÄ×î¿ìDNS·þÎñÆ÷IPµØÖ·
nameserver ip   
 
µ±È»Ò²¿ÉÒÔÖ±½ÓʹÓÃÍøÂç¹ÜÀíÆ÷Ð޸ġ£
µ«ÊÇÈç¹ûÄãËùÔÚ»ú¹¹»òÕß¹¤×÷µÄµØ·½±ØÐëÒªÇóÄãÓÃDHCP»ñµÃ×Ô¼º·Ç¹Ì¶¨¶¯Ì¬IP ......

Linux¹¥·ÀÖ®udev©¶´ÑÝʾ

´Ë©¶´Õë¶Ôlinux2.6Äںˣ¬Ö»ÒªÓÐÆÕͨÓû§È¨ÏÞ£¬¼´¿ÉÌáÉýrootȨÏÞ£¬¿ªÊ¼ÊµÑé°É 1¡¢¸´ÖÆÒÔÏ´úÂ룬±£´æÎªudev.sh£¬²¢¸³Óè¿ÉÖ´ÐÐȨÏÞ 2¡¢#useradd test //н¨Ò»¸öÆÕͨÓû§ 3¡¢#su - test //Çл»ÖÁtestÓû§ 4¡¢#ps -ef |grep udev //²é¿´udev id root 474 1 0 Apr09 ? 00:00:00 /sbin/udevd -d 5¡¢#sh udev.sh 473 //Ö´Ð ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ