Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾­Ñé

2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾­Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......

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

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

linuxÍøÂçÅäÖõÄÐÞ¸Ä

LINUX--ÐÞ¸ÄIPµØÖ·
A¡¢ÐÞ¸ÄipµØÖ·
¼´Ê±ÉúЧ:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
Æô¶¯ÉúЧ:
ÐÞ¸Ä/etc/sysconfig/network-scripts/ifcfg-eth0
B¡¢ÐÞ¸Ädefault gateway
¼´Ê±ÉúЧ:
# route add default gw 192.168.0.254
Æô¶¯ÉúЧ:
ÐÞ¸Ä/etc/sysconfig/network-scripts/ifcfg-eth0
C¡¢ÐÞ¸Ädns
ÐÞ ......

LinuxÈñ½ÝÉÏÍø,°²×°¹ý³Ì£º

ÏÂÔØÈñ½ÝÉÏÍø°ü,½âѹ,ÓÐĿ¼: libpcap.so.0.6.2, libstdc++.so.5,compat-libstdc%2B%2B-33_3.2.3-48_i386.deb,xrgsu
1½øÈëruijieĿ¼
sudo cd ./ruijie(½«¸ÃÎļþ¼Ð·ÅÔÚµ±Ç°Óû§Ä¿Â¼ÏÂ)
2¸´ÖÆÎļþ
sudo cp xrgsu /bin
sudo cp libpcap.so.0.6.2 /usr/lib
sudo cp libstdc++.so.5 /usr/lib
find /usr/lib -name " ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ