真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux高性能網(wǎng)絡(luò)編程讀書筆記之socket數(shù)據(jù)讀寫

建站服務(wù)器

數(shù)據(jù)讀寫分為TCP數(shù)據(jù)讀寫,UDP數(shù)據(jù)讀寫,通用數(shù)據(jù)讀寫
1.TCP數(shù)據(jù)讀寫
定義:socket是連接用戶空間和內(nèi)核空間,TCP和UDP是內(nèi)核第一層。
解釋:對于文件的read和write同樣適用于socket
例子:對于TCP流數(shù)據(jù)的系統(tǒng)調(diào)用
1.1ssize_t recv(int sockfd,void buf,size_t len,int flags);
1.2ssize_t send(int sockfd,const void
buf,size_t len,int flags);

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),子長企業(yè)網(wǎng)站建設(shè),子長品牌網(wǎng)站建設(shè),網(wǎng)站定制,子長網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,子長網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

參數(shù)解釋:
1.3buf和len是指緩存區(qū)的位置和大小
1.3.1flags通常為0
recv成功返回實際讀取到的數(shù)據(jù)的長度
注:實際讀取的長度可能小于期望len,所以要多次調(diào)用recv
recv可能返回0,意味著通信對方已經(jīng)關(guān)閉了連接
recv出錯返回-1并設(shè)置errno

1.4send基本上同上
發(fā)送的實例代碼

  int  main(int argc, char *argv[]){
                if(argc<=2){
                        printf(參數(shù)是錯誤);
                }

            //一系列之前的連接
            if(connect(sockfd,(struct sockaddr*) &server_address,sizeof(server_address))<0){
                    printf(連接失敗);
            }else{
                    const  char* oob_data = abc;

                    const  char* normal_data = 123;

                    send(sockfd,normal_data,strlen(normal_data),0);

                    sned(sockefd,oob_data,strlen(oob_data).MSG_OOB);
                    send(sockfd,normal_data,strlen(normal_data),0);

            }
            close(sockfd);
            return 0;

        }

        //接收代碼也是類似的
        //連接成功
        int  connfd = accept(sock,(struct  sockaddr *) &client,&client_addrlength);
        char  buffer[BUF_SIZE];

        memset(buffer,\'\\0\',BUF_SIZE);

        ret = recv(connfd,buffer,BUF_SIZE-1,0);

        close(connfd);
        close(sock);
        return 0;

        ./testoobrecv  192.168.1.109  54321

        ./testoobsend  192.168.1.109  54321  

        tcpdump  -ntx -i eth0  port 54321

        注:flags參數(shù)只對send和recv的當(dāng)前調(diào)用生效,可以使用setsockket系統(tǒng)調(diào)用來永久性修改socket的某些屬性

文章題目:linux高性能網(wǎng)絡(luò)編程讀書筆記之socket數(shù)據(jù)讀寫
當(dāng)前鏈接:http://weahome.cn/article/cjiogs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部