Socket程序間通訊

2021-08-16 18:30:46 字數 1808 閱讀 8273

int

socket(int domain, int type, int protocol);

int bind(int sockfd, const

struct sockaddr *addr, socklen_t addrlen);

struct sockaddr_in ;

/* internet address. */

struct in_addr ;

ipv6對應的是:

struct sockaddr_in6 ;

struct in6_addr ;

unix域對應的是:

#define unix_path_max 108

struct sockaddr_un ;

int

listen(int sockfd, int backlog);

int

accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

int connect(int sockfd, const

struct sockaddr *addr, socklen_t addrlen);

#include 

ssize_t read(int fd, void *buf, size_t count);

ssize_t write(int fd, const

void *buf, size_t count);

#include 

#include

ssize_t send(int sockfd, const

void *buf, size_t len, int flags);

ssize_t recv(int sockfd, void *buf, size_t len, int flags);

#include 

ssize_t sendto(int sockfd, const

void *buf, size_t len, int flags,

const

struct sockaddr *dest_addr, socklen_t addrlen);

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,

struct sockaddr *src_addr, socklen_t *addrlen);

#include 

ssize_t sendmsg(int sockfd, const

struct msghdr *msg, int flags);

ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);

struct msghdr ;

#include 

int close(int fd);

既然是面向不通裝置的通訊,那麼通訊過程的編碼就必須一致,當前計算機有採用大字節序的也有採用小字節序的,但是在傳送訊息前,要轉換為網路位元組序(大字節序),接收訊息後,要將訊息內容從網路位元組序轉為本機位元組序然後才能解析資料

QT 程序間通訊 Socket通訊

通過qt提供的qtnetwork模組即可實現程序間通訊,tcp ip在實現應用程式和程序內部通訊或與遠端程序間的通訊方面非常有用。qtnetwork模組提供的類能夠建立基於tcp ip的客戶端與服務端應用程式。為實現底層的網路訪問,可以使用qtcpsocket qtcpserver和qudpsock...

程序間通訊 Socket程式設計

linux下socket程式設計的原理大家參考下面這篇部落格 我就不多介紹了,下面這是乙個小例子。客戶端 include include include include include include include include include include include int main ...

linux簡單程序間socket通訊

socket多用於網路通訊,但將服務位址設為本機位址之後,即可實現本機程序間socket通訊,利用socket可以在程序間方便地傳輸資料。在linux平台上還支援af unix通訊,而不必設定本機位址,這種socket通訊型別在windows平台上並不適用。下面模擬三個程序間利用socket通訊,s...