程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 服務器-linux下套接字的相關問題

服務器-linux下套接字的相關問題

編輯:編程綜合問答
linux下套接字的相關問題

0.套接字是什麼?
1.為什麼我們在服務器建立一個套接字,不同的客戶端發送消息接受消息,仍舊是從這個套接字上面接受呢?
2.這個套接字可以接受多少的連接呢?比如同時滿足100個客戶端同時發送消息
3.listen()函數的第二個參數到底是什麼作用?如果我們同時有1000個連接,而listen的設定為5個監聽連接,會怎麼樣呢?

<小弟初學者,希望大家不要噴,懇切回答,多謝>

最佳回答:


0.套接字是網絡編程的一個術語,是兩端之間交互數據的接口。
1.服務器先建立一個套接字用於監聽客戶端的連接,但是服務器在accept之後會為沒一個客戶端都建立一個套接字,
用於客戶端和服務器之間收發數據,而不是從監聽的套接字收數據。
2.監聽套接字接受的數量不受限制,但是linux系統會限制同時存在的套接字數量,默認是1024,但是可以通過修改配置設置這個值,
100個那是小case了
3.listen的第二個參數是連接請求隊列的最大長度,超過這個數值,服務器就會拒絕客戶端連接。
為5表示同時最多只能接受5 個連接,但是系統是一邊等待連接,一邊在處理已經連接上的socket,處理完的會從隊列清除,
所以1000個只要不是同時來連接就不會有問題。

望采納,希望能幫到你。

u012122743
ycg514230
u012122743
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved