中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式Linux網(wǎng)絡(luò)編程之:網(wǎng)絡(luò)基礎(chǔ)編程

        嵌入式Linux網(wǎng)絡(luò)編程之:網(wǎng)絡(luò)基礎(chǔ)編程

        作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.antipu.com.cn/article/257116.htm

        (3)使用實(shí)例。

        該實(shí)例分為客戶端和服務(wù)器端兩部分,其中服務(wù)器端首先建立起socket,然后與本地端口進(jìn)行綁定,接著就開始接收從客戶端的連接請求并建立與它的連接,接下來,接收客戶端發(fā)送的消息??蛻舳藙t在建立socket之后調(diào)用connect()函數(shù)來建立連接。

        服務(wù)端的代碼如下所示:

        /*server.c*/

        #includesys/types.h>

        #includesys/socket.h>

        #includestdio.h>

        #includestdlib.h>

        #includeerrno.h>

        #includestring.h>

        #includeunistd.h>

        #includenetinet/in.h>

        #definePORT4321

        #defineBUFFER_SIZE1024

        #defineMAX_QUE_CONN_NM5

        intmain()

        {

        structsockaddr_inserver_sockaddr,client_sockaddr;

        intsin_size,recvbytes;

        intsockfd,client_fd;

        charbuf[BUFFER_SIZE];

        /*建立socket連接*/

        if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)

        {

        perror(socket);

        exit(1);

        }

        printf(Socketid=%dn,sockfd);

        /*設(shè)置sockaddr_in結(jié)構(gòu)體中相關(guān)參數(shù)*/

        server_sockaddr.sin_family=AF_INET;

        server_sockaddr.sin_port=htons(PORT);

        server_sockaddr.sin_addr.s_addr=INADDR_ANY;

        bzero((server_sockaddr.sin_zero),8);

        inti=1;/*允許重復(fù)使用本地地址與套接字進(jìn)行綁定*/

        setsockopt(sockfd,SOL_,SO_REUSEADDR,i,sizeof(i));

        /*綁定函數(shù)bind()*/

        if(bind(sockfd,(structsockaddr*)server_sockaddr,

        sizeof(structsockaddr))==-1)

        {

        perror(bind);

        exit(1);

        }

        printf(Bindsuccess!n);

        /*調(diào)用listen()函數(shù),創(chuàng)建未處理請求的隊列*/

        if(listen(sockfd,MAX_QUE_CONN_NM)==-1)

        {

        perror(listen);

        exit(1);

        }

        printf(Listening....n);

        /*調(diào)用accept()函數(shù),等待客戶端的連接*/

        if((client_fd=accept(sockfd,

        (structsockaddr*)client_sockaddr,sin_size))==-1)

        {

        perror(accept);

        exit(1);

        }

        /*調(diào)用recv()函數(shù)接收客戶端的請求*/

        memset(buf,0,sizeof(buf));

        if((recvbytes=recv(client_fd,buf,BUFFER_SIZE,0))==-1)

        {

        perror(recv);

        exit(1);

        }

        printf(Receivedamessage:%sn,buf);

        close(sockfd);

        exit(0);

        }

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        linux相關(guān)文章:linux教程




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉