freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c多線程通信例子-資料下載頁

2025-06-24 18:55本頁面
  

【正文】 收。一旦accept接收成功就創(chuàng)建一個(gè)新的socket來處理與client的通訊。accept()函數(shù) 準(zhǔn)備好了,系統(tǒng)調(diào)用accept()會(huì)有點(diǎn)古怪的地方的!你可以想象發(fā)生這樣的事情:有人從很遠(yuǎn)的地方通過一個(gè)你在偵聽(listen())的端口連接(connect())到你的機(jī)器。它的連接將加入到等待接受(accept())的隊(duì)列中。你調(diào)用accept()告訴它你有空閑的連接。它將返回一個(gè)新的套接字文件描述符!這樣你就有兩個(gè)套接字了,原來的一個(gè)還在偵聽你的那個(gè)端口,新的在準(zhǔn)備發(fā)送(send())和接收(recv())數(shù)據(jù)。這就是這個(gè)過程!函數(shù)是這樣定義的: include sys/ int accept(int sockfd, void *addr, int *addrlen)。 sockfd相當(dāng)簡(jiǎn)單,是和isten()中一樣的套接字描述符。addr是個(gè)指向局部的數(shù)據(jù)結(jié)構(gòu)sockaddr_in的指針。這是要求接入的信息所要去的地方(你可以測(cè)定哪個(gè)地址在哪個(gè)端口呼叫你)。在它的地址傳遞給accept之前,addrlen是個(gè)局部的整形變量,設(shè)置為 sizeof(struct sockaddr_in)accept將不會(huì)將多余的字節(jié)給addr。如果你放入的少些,那么它會(huì)通過改變 addrlen 的值反映出來。 同樣,在錯(cuò)誤時(shí)返回1,并設(shè)置全局錯(cuò)誤變量 errno?,F(xiàn)在是你應(yīng)該熟悉的代碼片段。 include include sys/ include sys/ define MYPORT 3490 /*用戶接入端口*/ define BACKLOG 10 /* 多少等待連接控制*/ main() { int sockfd, new_fd。 /* listen on sock_fd, new connection on new_fd */ struct sockaddr_in my_addr。 /* 地址信息 */ struct sockaddr_in their_addr。 /* connector39。s address information*/ int sin_size。 /* don39。t forget your error checking for these calls: */ sockfd = socket(AF_INET, SOCK_STREAM, 0)。 /* 錯(cuò)誤檢查*/ = AF_INET。 /* host byte order */ = htons(MYPORT)。 /* short, network byte order */ = INADDR_ANY。 /* autofill with my IP */ bzero(amp。()。 /* zero the rest of the struct */ bind(sockfd, (struct sockaddr *)amp。my_addr, sizeof(struct sockaddr))。 listen(sockfd, BACKLOG)。 sin_size = sizeof(struct sockaddr_in)。 new_fd = accept(sockfd, amp。their_addr, amp。sin_size)。 ... ...} 注意,在系統(tǒng)調(diào)用 send() 和 recv() 中你應(yīng)該使用新的套接字描述符 new_fd。如果你只想讓一個(gè)連接進(jìn)來,那么你可以使用 close() 去關(guān)閉原來的文件描述符sockfd來避免同一個(gè)端口更多的連接。9 / 9
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1