網路程式設計中多程序通訊

2021-07-25 00:05:44 字數 2335 閱讀 6983

#include

#include

#include

#include

#include

#include

#include

#include

#include

int main()

len = sizeof(cliaddr);

cliaddr.sin_family = af_inet;

//通過ip位址和埠號可以確定乙個連線到一台主機的乙個程序

cliaddr.sin_port = htons(8080);//填寫埠號

//「192.168.164.136」是伺服器的ip位址

if (inet_pton(af_inet, "192.168.164.136", &cliaddr.sin_addr) <= 0)//填寫伺服器的ip位址

//通過connect函式建立連線

if (connect(sockfd, (struct sockaddr*)&cliaddr, len) == -1)

//通標註輸入讀取資料

read(stdin_fileno, buf, sizeof(buf));

//通過檔案描述符把資料傳送給伺服器程序

write(sockfd, buf, strlen(buf));

//清空buf

bzero(buf, sizeof(buf));

//通過檔案描述符從伺服器讀取資料

read(sockfd, buf, sizeof(buf));

//把從伺服器讀取的資料寫到標準輸出

write(stdout_fileno, buf, strlen(buf));

//關閉檔案描述符

close(sockfd);

printf("hello world\n");

return exit_success;

/*                   以上是client端**    client.c   */

/* include signal */

#include

#include

void *

_signal(int signo, void *func)

else

if (sigaction(signo, &act, &oact) < 0)

return(sig_err);

return(oact.sa_handler);

}/* end signal */

void * signal(int signo, void *func)

/*                 這個是訊號處理函式,signal.c        */

#include "signal.h"

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

void sig_chld(int signo)

int main()

len = sizeof(servaddr);

bzero(&servaddr, sizeof(servaddr));

servaddr.sin_family = af_inet;

servaddr.sin_addr.s_addr = htonl(inaddr_any);//inaddr_any代表伺服器程序可以接受任何乙個埠號

servaddr.sin_port = htons(8080);

//乙個伺服器程序需要繫結乙個眾所周知的位址或埠以等待客戶來連線

if (bind(sockfd, (struct sockaddr*)&servaddr, len) == -1)

//通過listen函式來監聽有多少個client來連線,第2個引數代表最多可以有10個client來連線

if (listen(sockfd, 10) == -1)

for (i = 0; i < 5; i++)

pid = fork();//fork乙個子程序為client進行服務

if (pid == 0)

else if (pid > 0)

else

}close(sockfd);

printf("hello world\n");

return exit_success;

}/*           這個是server端程序  為server.c   ,這個檔案和signal.c一起工作      */

網路程式設計基礎 併發程式設計 多程序

python中的多執行緒無法利用多核優勢,如果想要充分地使用多核cpu的資源 os.cpu count 檢視 在python中大部分情況需要使用多程序。python提供了multiprocessing multiprocessing模組用來開啟子程序,並在子程序中執行我們定製的任務 比如函式 該模組...

Linux網路程式設計多程序模型

include include include include include include include define serv port 8080 define maxline 100 define maxsize 4096 void sys error const char fun str...

python多程序通訊

這是看書筆記 python提供了多種程序通訊的方式,比如說queue,pipe,value array等。其中queue主要用來在多個程序之間實現通訊。pipe常用來在兩個程序之間實現通訊。queue是多程序安全佇列,queue通過put和get方法來實現多程序之間的資料傳遞。put方法用於將資料插...