套接字與FIFO

2021-08-02 15:28:20 字數 830 閱讀 8779

###套接字與fifo

@【全雙工】套接字

特點:sv[0]與sv[1]可讀可寫

案列:客戶端伺服器模型    

操作:建立:int socketpair(int domain,int type,int protocl,int sv[2])

domain:套介面的域(af_local/af_unix)

type:套介面型別(sock_stream【資料流】、sock_dgram【資料報】)

protocol:協議(必須0)

sv:檔案描述符的指標(s[0]與s[1]都可讀寫)

返回值:0(成功)、-1(出錯)

關閉:close(sv[0]);close(sv[1]);

@【半雙工】fifo管道/命名管道

特點:可以是非親緣程序之間;讀寫必須同時執行,否則堵塞【預設】。

操作:建立命名管道:int mkfifo(pathname,mode)【古老方式:int mknod(const char *filename,mode_t mode | s_ififo,(dev_t)0);】

pathname:檔案路徑【檔案必須不存在】

mode:模式

返回值:0(成功)、非零(失敗)

開啟fifo檔案:int open(const char* path,int mode)

pathname:檔案路徑

mode:模式【o_rdonly(阻塞唯讀)、o_rdonly|o_nonblock(非阻塞唯讀)、o_wronly(阻塞只寫)、o_wronly|o_nonblock(非阻塞只寫)】

返回值:-1(失敗)、其他(檔案描述符)

讀寫:與檔案操作相同

Dart的套接字與web套接字

首先在專案中建三個dart檔案,如下圖 main.dart中的 如下 import dart io import dart convert main listarguments socket 1.dart中的 如下 import dart io main listarguments socket 2...

監聽套接字 連線套接字

摘要 對於伺服器程式設計中最重要的一步等待並接受客戶的連線,那麼這一步在程式設計中如何完成,accept函式就是完成這一步的。它從核心中取出已經建立的客戶連線,然後把這個已經建立的連線返回給使用者程式,此時使用者程式就可以與自己的客戶進行點到點的通訊了。accept函式等待並接受客戶請求 inclu...

套接字概念與分類

概念 tcp用主機的ip位址加上主機上的埠號作為tcp連線的端點,這種端點就叫做套接字 socket 或插口。分類常用的tcp ip協議的3種套接字型別如下所示 流式套接字 sock stream 流式套接字用於提供面向連線 可靠的資料傳輸服務。該服務將保證資料能夠實現無差錯 無重 送,並按順序接收...