多程序TCP通訊

2021-09-24 16:37:58 字數 2892 閱讀 6906

#include

#include

#include

#include

#include

#include

#include

#include

#include

intcreate_worker

(int cli_fd)

else

if(pid ==0)

;int ret =

recv

(cli_fd, buff,

1024,0

);if(ret <=0)

printf

("client say:[%s]\n"

, buff)

;send

(cli_fd,

"what\?\?!!",8

,0);

}}else

return0;

}void

sigcb

(int signo)

intmain

(int argc,

char

*ar**)

//2. 為監聽socket繫結位址資訊(如果使用socket傳送資料,則是從繫結的

//這個位址和埠傳送資料,)

//htons--將兩個位元組的資料轉換為網路位元組序的資料

//htonl--將四個位元組的資料轉換為網路位元組序的資料

//ntohs--將兩個位元組的網路位元組序資料轉換為當前的主機位元組序資料

//ntohl--將四個位元組的網路位元組序資料轉換為當前的主機位元組序資料

struct sockaddr_in lst_addr;

lst_addr.sin_family = af_inet;

lst_addr.sin_port =

htons

(9000);

lst_addr.sin_addr.s_addr =

inet_addr

("192.168.122.132");

socklen_t len =

sizeof

(struct sockaddr_in)

;int ret =

bind

(lst_fd,

(struct sockaddr*

)&lst_addr, len);if

(ret <0)

//3. 開始監聽

// listen會在系統裡邊開闢乙個佇列,第二個引數就是定義這個佇列的最大

// 節點數,這個佇列名字叫做連線成功佇列

// 第二個引數的功能:同一時間socket的最大併發連線數,記住不是最大連

// 接數

//// 一旦socket開始監聽,那麼就可以開始接收客戶端的連線請求,

// 如果有客戶端的連線請求過來,作業系統會為這個客戶端新建乙個socket

// 連線建立成功後這個socket將被放入連線成功佇列

// 接下來如果想要和這個客戶端進行通訊,那麼就需要把這個socket從佇列

// 中取出來,進行操作if(

listen

(lst_fd,5)

<0)

while(1

)create_worker

(cli_fd);}

close

(lst_fd)

;return0;

}

#include

#include

#include

#include

#include

#include

#include

#include

#include

void

*thr_start

(void

*arg)

; ssize_t ret =

recv

(clifd, buff,

1024,0

);if(ret <0)

else

if(ret ==0)

printf

("client say:[%s]\n"

, buff)

;send

(clifd,

"what!!",6

,0);

}return

null;}

intcreate_worker

(int clifd)

return0;

}int

main

(int argc,

char

*ar**)

lstfd =

socket

(af_inet, sock_stream, ipproto_tcp);if

(lstfd <0)

lst_addr.sin_family = af_inet;

lst_addr.sin_port =

htons

(atoi

(ar**[2]

)); lst_addr.sin_addr.s_addr =

inet_addr

(ar**[1]

);len =

sizeof

(struct sockaddr_in)

; ret =

bind

(lstfd,

(struct sockaddr*

)&lst_addr, len);if

(ret <0)

if(listen

(lstfd,5)

<0)

while(1

)create_worker

(clifd);}

return0;

}

python多程序通訊

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

python多程序通訊

python 多程序實現 from multiprocessing import import time import os class clockprocess process def init self,interval self.interval interval process.init s...

socket 多程序通訊

之前寫的那個socket太次了。只能連乙個,所以優化了一下。我管他叫superserver。獻上 include include include include include include include intmain int argc,const char ar int fd socket ...