新聞中心

        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.104case.com/article/257116.htm

        客戶端的代碼如下所示:

        /*client.c*/

        #includestdio.h>

        #includestdlib.h>

        #includeerrno.h>

        #includestring.h>

        #includenetdb.h>

        #includesys/types.h>

        #includenetinet/in.h>

        #includesys/socket.h>

        #definePORT4321

        #defineBUFFER_SIZE1024

        intmain(intargc,char*argv[])

        {

        intsockfd,sendbytes;

        charbuf[BUFFER_SIZE];

        structhostent*host;

        structsockaddr_inserv_addr;

        if(argc3)

        {

        fprintf(stderr,USAGE:./clientHostname(oripaddress)Textn);

        exit(1);

        }

        /*地址解析函數(shù)*/

        if((host=gethostbyname(argv[1]))==NULL)

        {

        perror(gethostbyname);

        exit(1);

        }

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

        sprintf(buf,%s,argv[2]);

        /*創(chuàng)建socket*/

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

        {

        perror(socket);

        exit(1);

        }

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

        serv_addr.sin_family=AF_INET;

        serv_addr.sin_port=htons(PORT);

        serv_addr.sin_addr=*((structin_addr*)host->h_addr);

        bzero((serv_addr.sin_zero),8);

        /*調(diào)用connect函數(shù)主動發(fā)起對服務(wù)器端的連接*/

        if(connect(sockfd,(structsockaddr*)serv_addr,

        sizeof(structsockaddr))==-1)

        {

        perror(connect);

        exit(1);

        }

        /*發(fā)送消息給服務(wù)器端*/

        if((sendbytes=send(sockfd,buf,strlen(buf),0))==-1)

        {

        perror(send);

        exit(1);

        }

        close(sockfd);

        exit(0);

        }

        在運行時需要先啟動服務(wù)器端,再啟動客戶端。這里可以把服務(wù)器端下載到開發(fā)板上,客戶端在宿主機上運行,然后配置雙方的IP地址,在確保雙方可以通信(如使用ping命令驗證)的情況下運行該程序即可。

        $./server

        Socketid=3

        Bindsuccess!

        Listening....

        Receivedamessage:Hello,Server!

        $./clientlocalhost(或者輸入IP地址)Hello,Server!

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

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



        上一頁 1 2 3 4 5 6 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 原平市| 孙吴县| 抚宁县| 高安市| 南召县| 金山区| 永泰县| 宜阳县| 台南县| 鹿邑县| 天祝| 镇赉县| 巴塘县| 林周县| 福安市| 西充县| 石阡县| 易门县| 久治县| 龙州县| 天峨县| 阳山县| 夏邑县| 镇赉县| 溧阳市| 通化县| 鲁甸县| 开原市| 临猗县| 博罗县| 巴彦淖尔市| 武穴市| 大厂| 勃利县| 喀什市| 醴陵市| 陇川县| 北辰区| 武邑县| 台安县| 东乌珠穆沁旗|