C 實現程序間通訊

2021-09-19 11:40:03 字數 1555 閱讀 5329

利用tcp/ip/來實現,不過目前只能實現一對一你一句我一句的聊天。

有兩個.c檔案,ser.c和cli.c

redhat系統,需要的標頭檔案如下:

#include

#include

#include

#include

#include

#include

#include

伺服器int main()

//2

struct sockaddr_in addeser;

addrser.sin_family = af_inet;

addrser.sin_port = htons(6666);

addrser.sin_addr_.s_addr = inaddr_any;

socklen_t addrlen = sizeof(struct sockaddr);

int ret = bind(sockser, (struct sockaddr*)&addrser, addrlen);

if(ret == -1)

//3int backlog = 5;

ret = listen(sockser, backlog);

if(ret == -1)

//4int sockconn;

struct sockaddr_in addrcli;

sockconn = accept(sockser, (struct sockaddr*)&addrcli, &addrlen);

if(sockconn == -1)

else

char sendbuf[256];

char recvbuf;

while(1)

close(sockser);

return 0;

}

使用者int main()

struct sockaddr_in addeser;

addrser.sin_family = af_inet;

addrser.sin_port = htons(6666);

addrser.sin_addr_.s_addr = inet_addr("127.0.0.1");

socklen_t addrlen = sizeof(struct sockaddr);

int ret = connect(sockcli, (struct sockaddr*)&addrser, addrlen);

if(ret == -1)

printf("client connect server fail.\n");

else

printf("client connect server success.\n");

char sendbuf[256];

char recvbuf;

while(1)

close(sockcli);

return 0;

}

另外利用管道、訊號、共享記憶體、訊息佇列也可以實現程序間通訊,不過上述**可以在不同的機器之間實現通訊。

C 程序間通訊

程序之間通訊的幾種方法 在windows程式中,各個程序之間常常需要交換資料,進行資料通訊。常用的方法有 使用記憶體對映檔案 通過共享記憶體dll共享記憶體 使用sendmessage向另一程序傳送wm copydata訊息 比起前兩種的複雜實現來,wm copydata訊息無疑是一種經濟實惠的一中...

c 程序間通訊

一 程序間通訊的方式 程序間通訊的方式有很多,常用的有共享記憶體 記憶體對映檔案 共享記憶體dll 剪下板等 命名管道和匿名管道 傳送訊息等幾種方法來直接完成,另外還可以通過 socket 口 配置檔案和登錄檔 等來間接實現程序間資料通訊任務。以上這幾種方法各有優缺點,具體到在程序間進行大資料量資料...

c 利用VM COPYDATA實現程序間通訊

c 程序間的通訊方式很多種,只會這種,感覺比較簡單。不懂原理,能用就行。假設有兩個程式 server 主程序 client 子程序 1.server端 定義乙個結構體,用來接收從子程序傳過來的資訊,與子程序定義的一樣 public struct copydatastruct 定義乙個訊息型別,與子程...