我有一個客戶端 - 服務器程序,在服務器端:Linux的插座值
sockListen = socket(PF_INET, SOCK_STREAM, 0);
socketListen
似乎總是等於3.爲什麼? 0,1或2怎麼樣? Linux中套接字的值範圍是多少?
我有一個客戶端 - 服務器程序,在服務器端:Linux的插座值
sockListen = socket(PF_INET, SOCK_STREAM, 0);
socketListen
似乎總是等於3.爲什麼? 0,1或2怎麼樣? Linux中套接字的值範圍是多少?
0,1和2分別是stdin,stdout和stderr。 3是下一個可用的。如果你創建了另外一個,或者打開了一個文件等,它會得到4.等等等等。
但是你不應該依賴這一點。編寫應用程序將整數視爲不透明對象。只將它們與值進行比較,看它們是否爲負值(表示錯誤)。
返回值是一個文件描述符。文件描述符0,1和2已經打開。 (分別是stdin,stdout和stderr)
我可能是完全錯誤的,但我認爲Linux提供整型文件句柄,0通常是STDIN,1是STDOUT,2是STDERR。所以你給出的第一個句柄就是3.需要一個真正知道的人來澄清。 – 2009-11-19 08:37:39