我們有簡單的客戶端/服務器應用程序。
我們在基於beaglebone黑色的定製板上運行服務器。啓動時選擇功能需要更多時間
我們在初始化腳本中啓動一個服務器,在主機PC上運行的客戶端試圖連續連接到服務器。
選擇函數調用服務器應用程序用於前檢查服務器上的套接字事件接受被調用,如下
selectOperationStatus = select(socketfd + 1, &readfds, (fd_set *)NULL, (fd_set *)NULL, &tv);
if (selectOperationStatus > 0){
clientFd = accept(socketfd, (struct sockaddr *) &client_addr, &sin_size)
}
我們觀察到,在啓動過程中,選擇函數調用需要13秒鐘來接受來自客戶端的連接。 但是,如果同一個服務器應用程序在啓動後的某個時間啓動,它將連接1秒鐘。
爲什麼在啓動時選擇函數需要時間(〜13秒)? 任何建議/指針調試?任何替代方案?