聞喘listen()才accept()痕方
<貧匯准
和匯准>
斤噐捲暦匂極殻會?聞喘 bind() 鰯協耗俊忖朔?珊俶勣聞喘 listen() 痕方斑耗俊忖序秘瓜強酌油彜蓑?壅距喘 accept() 痕方?祥辛參昧扮峒哘人薩極議萩箔阻。
侭僚瓜強酌油?頁峺輝短嗤人薩極萩箔扮?耗俊忖侃噐“鋒蓄”彜蓑?峪嗤輝俊辺欺人薩極萩箔扮?耗俊忖嘉氏瓜“蚕佰”栖峒哘萩箔。
産喝曝議海業?嬬贋慧謹富倖人薩極萩箔?辛參宥狛 listen() 痕方議 backlog 歌方峺協?徽梢捷葎謹富旺短嗤焚担炎彈?辛參功象低議俶箔栖協?旺窟楚弌議三辛參頁10賜宀20。
泌惚繍 backlog 議峙譜崔葎 SOMAXCONN?祥喇狼由栖畳協萩箔錦双海業?宸倖峙匯違曳熟寄?辛嬬頁叱為?賜宀厚謹。
輝萩箔錦双諾扮?祥音壅俊辺仟議萩箔?斤噐 Linux?人薩極氏辺欺 ECONNREFUSED 危列?斤噐 Windows?人薩極氏辺欺 WSAECONNREFUSED 危列。
廣吭?listen() 峪頁斑耗俊忖侃噐酌油彜蓑?旺短嗤俊辺萩箔。俊辺萩箔俶勣聞喘 accept() 痕方。
accept() 卦指匯倖仟議耗俊忖栖才人薩極宥佚?addr 隠贋阻人薩極議IP仇峽才極笥催?遇 sock 頁捲暦匂極議耗俊忖?寄社廣吭曝蛍。朔中才人薩極宥佚扮?勣聞喘宸倖仟伏撹議耗俊忖?遇音頁圻栖捲暦匂極議耗俊忖。
恷朔俶勣傍苧議頁?listen() 峪頁斑耗俊忖序秘酌油彜蓑?旺短嗤寔屎俊辺人薩極萩箔?listen() 朔中議旗鷹氏写偬峇佩?岷欺囑欺 accept()。accept() 氏怦毘殻會峇佩?朔中旗鷹音嬬瓜峇佩??岷欺嗤仟議萩箔欺栖。
listen() 痕方
宥狛 listen() 痕方辛參斑耗俊忖序秘瓜強酌油彜蓑?万議圻侏葎?int listen(int sock, int backlog); //Linux int listen(SOCKET sock, int backlog); //Windowssock 葎俶勣序秘酌油彜蓑議耗俊忖?backlog 葎萩箔錦双議恷寄海業。
侭僚瓜強酌油?頁峺輝短嗤人薩極萩箔扮?耗俊忖侃噐“鋒蓄”彜蓑?峪嗤輝俊辺欺人薩極萩箔扮?耗俊忖嘉氏瓜“蚕佰”栖峒哘萩箔。
萩箔錦双
輝耗俊忖屎壓侃尖人薩極萩箔扮?泌惚嗤仟議萩箔序栖?耗俊忖頁短隈侃尖議?峪嬬委万慧序産喝曝?棋輝念萩箔侃尖頼穎朔?壅貫産喝曝嶄響函竃栖侃尖。泌惚音僅嗤仟議萩箔序栖?万断祥梓孚枠朔乏會壓産喝曝嶄電錦?岷欺産喝曝諾。宸倖産喝曝?祥各葎萩箔錦双?Request Queue?。産喝曝議海業?嬬贋慧謹富倖人薩極萩箔?辛參宥狛 listen() 痕方議 backlog 歌方峺協?徽梢捷葎謹富旺短嗤焚担炎彈?辛參功象低議俶箔栖協?旺窟楚弌議三辛參頁10賜宀20。
泌惚繍 backlog 議峙譜崔葎 SOMAXCONN?祥喇狼由栖畳協萩箔錦双海業?宸倖峙匯違曳熟寄?辛嬬頁叱為?賜宀厚謹。
輝萩箔錦双諾扮?祥音壅俊辺仟議萩箔?斤噐 Linux?人薩極氏辺欺 ECONNREFUSED 危列?斤噐 Windows?人薩極氏辺欺 WSAECONNREFUSED 危列。
廣吭?listen() 峪頁斑耗俊忖侃噐酌油彜蓑?旺短嗤俊辺萩箔。俊辺萩箔俶勣聞喘 accept() 痕方。
accept() 痕方
輝耗俊忖侃噐酌油彜蓑扮?辛參宥狛 accept() 痕方栖俊辺人薩極萩箔。万議圻侏葎?int accept(int sock, struct sockaddr *addr, socklen_t *addrlen); //Linux SOCKET accept(SOCKET sock, struct sockaddr *addr, int *addrlen); //Windows万議歌方嚥 listen() 才 connect() 頁屢揖議?sock 葎捲暦匂極耗俊忖?addr 葎 sockaddr_in 潤更悶延楚?addrlen 葎歌方 addr 議海業?辛喇 sizeof() 箔誼。
accept() 卦指匯倖仟議耗俊忖栖才人薩極宥佚?addr 隠贋阻人薩極議IP仇峽才極笥催?遇 sock 頁捲暦匂極議耗俊忖?寄社廣吭曝蛍。朔中才人薩極宥佚扮?勣聞喘宸倖仟伏撹議耗俊忖?遇音頁圻栖捲暦匂極議耗俊忖。
恷朔俶勣傍苧議頁?listen() 峪頁斑耗俊忖序秘酌油彜蓑?旺短嗤寔屎俊辺人薩極萩箔?listen() 朔中議旗鷹氏写偬峇佩?岷欺囑欺 accept()。accept() 氏怦毘殻會峇佩?朔中旗鷹音嬬瓜峇佩??岷欺嗤仟議萩箔欺栖。
<貧匯准
和匯准>