1. 程式人生 > >c++/c socket應用的區別:socket()函式返回檔案描述符fd總是0的問題

c++/c socket應用的區別:socket()函式返回檔案描述符fd總是0的問題

最近在arm linux系統上面使用socket建立客戶端到伺服器的連線,

客戶端需要開2個socket連線2個不同的伺服器,

這兩個申請socket的過程都放在同一個類的成員函式中實現,

測試發現,每次拿到的socket的fd均為0。

這個id為0,雖然用起來沒有問題,但是隻能用來connect到一個伺服器,除非你每次收發之前都來個connect。

同樣的程式碼,放在.c檔案的main函式裡面一執行,拿到的socket id為非0。

具體原因仍然不知。

目前解決的辦法是,在c++類裡面執行socket函式,申請2次,第二次拿到的就是非0的了,

然後把第一次的0關閉,不用了。

不知道是否哪裡設定不對,難道預設是共用fd=0嗎?

:]