成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux Accept函數(shù)簡單介紹

運維 系統(tǒng)運維
sockfd相當(dāng)簡單,是和listen()中一樣的套接字描述符。addr是個指向局部的數(shù)據(jù)結(jié)構(gòu)sockaddr_in的指針。這是要求接入的信息所要去的地方(你可以測定那個地址在那個端口呼叫你)。

系統(tǒng)調(diào)用accept()會有點古怪的地方的!你可以想象發(fā)生這樣的事情:有人從很遠的地方通過一個你在偵聽(listen())的端口連接(connect())到你的機器。它的連接將加入到等待接受(accept())的隊列中。你調(diào)用accept()告訴它你有空閑的連接。它將返回一個新的套接字文件描述符!這樣你就有兩個套接字了,原來的一個還在偵聽你的那個端口,新的在準備發(fā)送(send())和接收(recv())數(shù)據(jù)。這就是Linux Accept函數(shù)的過程!

Linux Accept函數(shù)是這樣定義的:
#include<sys/socket.h>
intaccept(intsockfd,void*addr,int*addrlen);

sockfd相當(dāng)簡單,是和listen()中一樣的套接字描述符。addr是個指向局部的數(shù)據(jù)結(jié)構(gòu)sockaddr_in的指針。這是要求接入的信息所要去的地方(你可以測定那個地址在那個端口呼叫你)。在它的地址傳遞給accept之前,addrlen是個局部的整形變量,設(shè)置為sizeof(structsockaddr_in)。accept將不會將多余的字節(jié)給addr。如果你放入的少些,那么它會通過改變addrlen的值反映出來。同樣,在錯誤時返回-1,并設(shè)置全局錯誤變量errno。
現(xiàn)在是你應(yīng)該熟悉的代碼片段。
 

  1. #include<string.h> 
  2. #include<sys/socket.h> 
  3. #include<sys/types.h> 
  4. #defineMYPORT3490/*用戶接入端口*/  
  5. #defineBACKLOG10/*多少等待連接控制*/  
  6. main()  
  7. {  
  8. intsockfd,new_fd;/*listenonsock_fd,newconnectiononnew_fd*/  
  9. structsockaddr_inmy_addr;/*地址信息*/  
  10. structsockaddr_intheir_addr;/*connector 'saddressinformation*/  
  11. intsin_size;  
  12. sockfd=socket(AF_INET,SOCK_STREAM,0);/*錯誤檢查*/  
  13. my_addr.sin_family=AF_INET;/*hostbyteorder*/  
  14. my_addr.sin_port=htons(MYPORT);/*short,networkbyteorder*/  
  15. my_addr.sin_addr.s_addr=INADDR_ANY;/*auto-fillwithmyIP*/  
  16. bzero(&(my_addr.sin_zero),;/*zerotherestofthestruct*/  
  17. /*don 'tforgetyourerrorcheckingforthesecalls:*/  
  18. bind(sockfd,(structsockaddr*)&my_addr,sizeof(structsockaddr));  
  19. listen(sockfd,BACKLOG);  
  20. sin_size=sizeof(structsockaddr_in);  
  21. new_fd=accept(sockfd,&their_addr,&sin_size);  
  22. .  
  23. .  
  24. .  

Linux Accept函數(shù)注意事項,在系統(tǒng)調(diào)用send()和recv()中你應(yīng)該使用新的套接字描述符new_fd。如果你只想讓一個連接進來,那么你可以使用close()去關(guān)閉原來的文件描述符sockfd來避免同一個端口更多的連接。

【編輯推薦】

  1. Linux 查看磁盤空間實現(xiàn)代碼介紹
  2. Linux操作系統(tǒng)需要微軟的十大幫助
  3. 探尋Linux到底需要多低的配置
  4. Linux測試工具tcpdump監(jiān)視TCP/IP連接命令介紹
  5. Linux流量控制實例應(yīng)用介紹
責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-06-18 10:11:16

Linux Accep

2010-06-18 09:13:14

Linux Accep

2009-09-23 10:15:23

Linux curlLinux命令行工具

2009-08-07 17:12:07

C# DLL函數(shù)

2010-03-18 16:34:33

Linux命令

2010-06-09 17:48:15

Linux 編程工具

2009-08-12 10:11:18

C# 回調(diào)函數(shù)

2010-06-22 17:09:52

Linux Autom

2010-06-21 15:49:59

Linux apt是什

2010-06-30 12:46:18

Linux SNMP工

2009-12-24 15:59:58

Linux hal

2009-08-07 09:29:22

C#數(shù)組C#函數(shù)

2009-12-23 19:13:40

Fedora Linu

2010-03-10 15:05:22

linux系統(tǒng)備份方式

2010-03-16 11:20:53

Linux 優(yōu)化

2009-12-29 08:54:09

Ubuntu Linu

2010-06-21 17:10:02

Linux Arp命令

2010-06-11 11:15:33

Linux編程工具

2009-12-22 10:46:35

2010-03-11 10:52:49

Ubuntu Linu
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美精品福利 | 国产精品资源在线 | 人人玩人人添人人澡欧美 | 每日更新av | 日韩av一区二区在线观看 | 日日碰狠狠躁久久躁婷婷 | 精品久久一区 | 国产精品精品视频一区二区三区 | 国产精品一区二区不卡 | 日日摸夜夜添夜夜添精品视频 | 精品国产伦一区二区三区观看体验 | 久久亚洲国产精品 | 国产一区二区在线播放视频 | 天天澡天天狠天天天做 | 国产午夜精品一区二区三区四区 | 国精产品一品二品国精在线观看 | 一级在线免费观看 | 亚洲精品久久 | 一级毛片免费完整视频 | 日本h片在线观看 | 逼逼网| 精品视频一区二区 | 国产精品久久久久久久久久免费看 | 成人久久网 | 日韩中文字幕在线视频观看 | 激情欧美一区二区三区中文字幕 | 香蕉视频久久久 | 欧美日韩国产精品一区 | 农村真人裸体丰满少妇毛片 | 中文字幕不卡视频在线观看 | 久久av一区二区三区 | 在线视频一区二区 | 中文字幕成人 | 国产精品一区二区三区在线 | 亚洲电影中文字幕 | 中文av在线播放 | 黄色网页在线 | 国产精品久久久久久久久久久久 | 一区观看 | 瑟瑟激情| 亚洲免费一区二区 |