日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux IPC udp/tcp/UNIX域 socket编程

發(fā)布時間:2025/5/22 linux 158 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux IPC udp/tcp/UNIX域 socket编程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

UNIX域套接字本地通信即在socket第一個參數(shù)中選擇AF_LOCAL,socket是BSD提出的一種適用于所有的情況的進程間通信的方式,雖然現(xiàn)在多用于網(wǎng)絡(luò)通信,但是本機內(nèi)的進程間通信也是沒有問題的,使用socket機制的UNIX域常用在前臺進程和后臺進程的通信。VS tcp/ip和udp/ip的socket在CS兩端使用的讀寫sockfd函數(shù)不同,在UNIX域下,CS兩端都使用read()/write()對socket進行讀寫。

模型

#include <unistd.h> #include <sys/types.h> #include <sys/socket.h> //服務(wù)器: socket() //創(chuàng)建socket struct sockaddr_in //準(zhǔn)備通信sock文件 bind() //綁定socket和addr write()/read() //進行通信 close() //關(guān)閉socket //客戶端:socket() //創(chuàng)建socket //準(zhǔn)備通信地址:服務(wù)器準(zhǔn)備的sock文件 connect() //鏈接socket和通信地址 write()/read() //進行通信 close() //關(guān)閉socket

socket()

//創(chuàng)建網(wǎng)絡(luò)端點,返回socket文件描述符,失敗返回-1設(shè)errno int socket(int domain, int type, int protocol);

domain :協(xié)議族(protocol family)(網(wǎng)絡(luò)通訊(IP)還是本地通訊(xxx.socket))

  • AF_LOCAL本地通訊/AF_UNIX/

type :協(xié)議

  • SOCK_STREAM //流式套接字, 實現(xiàn)包括但不限于TCP協(xié)議,which is有序,可靠雙向面向連接的字節(jié)流通信方式
  • SOCK_DGRAM //數(shù)據(jù)報套接字, 實現(xiàn)包括但不限于UDP協(xié)議, which is不可靠,無連接的數(shù)據(jù)報通信方式

protocol: 特殊協(xié)議, 一般給0

準(zhǔn)備通信地址:

struct sockaddr{ //主要用于函數(shù)的形參類型, 很少定義結(jié)構(gòu)體變量使用, 叫做通用的通信地址類型//$man bindsa_family_t sa_family;char sa_data[14]; } struct sockaddr_un{ //準(zhǔn)備本地通信的通信地址 //$man un.hsa_family_t sun_family;//協(xié)議族,就是socket()的domain的AF_LOCALchar sun_path[];//文件的路徑 }

bind()

//把通信地址和socket文件描述符綁定,用在服務(wù)器端,成功返回0,失敗返回-1設(shè)errno int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

sockfd: socket文件的fd(returned by socket())
addr: 需要強制類型轉(zhuǎn)換成socketaddr_un或soketaddr_in, 參見上
addrlen: 通信地址的大小, 使用sizeof();

connect():

//初始化一個socket的連接,用在客戶端,成功返回0,失敗返回-1設(shè)errno int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

sockfd: socket文件的fd(returned by socket())
addr: 需要強制類型轉(zhuǎn)換成socketaddr_un或soketaddr_in, 參見上
addrlen: 通信地址的大小, 使用sizeof();

例子

//UNIX域數(shù)據(jù)報socket進程間通信 #include<unistd.h> #include<sys/types.h> #include<sys/socket.h> #include<sys/un.h> #include<stdio.h> #include<stdlib.h> #include<string.h> int main(){//1. create socketint sockfd=socket(AF_LOCAL,SOCK_DGRAM,0); if(-1==sockfd)perror("socket"),exit(-1);printf("create socket successfully\n");//2. prepare communication addrstruct sockaddr_un addr;addr.sun_family=AF_LOCAL;strcpy(addr.sun_path,"a.sock"); //會自動創(chuàng)建a.sock文件//3. bind socket and addrint res=bind(sockfd,(struct sockaddr*)&addr,sizeof(addr)); //客戶端是connect()if(-1==res)perror("bind"),exit(-1);printf("bind successfully\n");//4. communicatechar buf[100]={0};res=read(sockfd,&buf,sizeof(buf)); //客戶端是write()if(-1==res)perror("read"),exit(-1);printf("data sent by client:%s,size is %d\n",buf,sizeof(buf));//5. close socketres=close(sockfd);if(-1==res)perror("close"),exit(-1);printf("close successfully\n");return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/xiaojiang1025/p/6032531.html

總結(jié)

以上是生活随笔為你收集整理的Linux IPC udp/tcp/UNIX域 socket编程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 美女脱光内衣内裤 | 超碰视屏 | 91精品国产91久久久久久吃药 | 日韩成人av在线 | 双性人hdsexvideos | 亚洲美女屁股眼交 | 精品国产成人亚洲午夜福利 | 一卡二卡三卡 | 欧美另类高清videos的特点 | 伊人国产在线视频 | 久久精品国产亚洲AV无码麻豆 | 国产亚洲精品久久久久久久久动漫 | 宝贝乖h调教灌尿穿环 | 91蝌蚪在线观看 | juliaann办公室丝袜大战 | 国产网红在线 | 欧美日韩亚洲综合 | 国产三级午夜理伦三级 | sese国产 | 怎么可能高潮了就结束漫画 | 91蜜桃婷婷狠狠久久综合9色 | 亚洲乱码少妇 | 国产精品一区二区三区免费 | 在线天堂av| 日本福利视频导航 | av福利片| 亚洲福利在线视频 | 久操中文| www一区| 日韩中文字幕亚洲精品欧美 | 亚洲综合图片一区 | 激情六月天 | 成av人片一区二区三区久久 | 伦理av在线 | 国产麻豆一区二区三区在线观看 | 一区二区三区四区五区在线视频 | 涩婷婷| 可以看污的网站 | 狠狠干夜夜干 | 国产美女在线观看 | 色婷婷成人网 | 黄色大片av | 黄色理伦| 九色网站在线观看 | 青青草娱乐视频 | 成人午夜影院在线观看 | 中国黄色a级 | 日韩欧美亚洲国产 | 日韩中文一区 | 国产精品亚洲二区 | 国产xxxxxx | 久久精品国产亚洲av嫖农村妇女 | 在线视频久| 国产又大又黑又粗免费视频 | 综合色婷婷一区二区亚洲欧美国产 | 亚洲精品97久久 | 日本福利在线 | 毛片视频免费 | 国产精品无码一区 | 国产最新视频 | 亚洲色欲色欲www在线观看 | 男女交性视频播放 | 91亚洲国产成人精品性色 | 国产欧美123| 精品一区二区三区入口 | 91波多野结衣 | 国产第一页在线播放 | 日韩在线一区视频 | 日韩电影在线观看中文字幕 | 我和我的太阳泰剧在线观看泰剧 | 日本乱码视频 | 一道本一区二区 | 奇米影视在线视频 | 亚洲爆乳无码一区二区三区 | 免费精品视频一区二区三区 | 免费观看黄色网页 | 精品国产乱子伦一区二区 | 99在线精品观看 | 欧美日韩一区二区电影 | www.猫咪av.com | 国产肉体ⅹxxx137大胆 | 日韩一级色片 | 日韩精品国产一区二区 | 免费在线观看污 | 日本精品一区二区在线观看 | 国产一级视频 | 亚洲a视频在线观看 | 欧洲午夜视频 | 成年人在线视频网站 | 国产av人人夜夜澡人人爽 | 亚洲永久精品ww.7491进入 | 国产成人欧美一区二区三区的 | 五十路中文字幕 | 久久理论| 激情丁香婷婷 | 国产日产精品一区二区三区 | 一卡二卡精品 | 欧美性另类 | 青草青草久热 |