socket程式設計bind問題 兩個bind

2021-08-20 04:23:37 字數 475 閱讀 2760

在windows下的tcp通訊問題,遇到這樣的問題:

不存在從「std::_bind< false,void,socket&,sockaddr*,unsignet int>」到」int「的適當轉換函式。

最近在做windows下的tcp通訊,查了一下,原因是在c ++ 11中增加了:

std :: bind(fp && _ f,boundargs && _ bound _ args …)函式,可以用該函式繫結函式指標。

在tcp通訊中的繫結函式是:

if (bind(server_fd,(struct sockaddr*)&server_addr, sizeof(struct sockaddr)) == -1)。

為了解決這個問題,網上大都是說去掉程式中socket連線**那個類裡面的using namespace std;但是專案中必須需要這個命名空間,解決辦法很簡單,在bind函式前面加::即可。

網路程式設計socket之bind函式

摘要 在套介面中,乙個套接字只是使用者程式與核心互動資訊的樞紐,它自身沒有太多的資訊,也沒有網路協議位址和 埠號等資訊,在進行網路通訊的時候,必須把乙個套接字與乙個位址相關聯,這個過程就是位址繫結的過程。許多時候核心會我們自動繫結乙個位址,然而有時用 戶可能需要自己來完成這個繫結的過程,以滿足實際應...

網路程式設計socket之bind函式

摘要 在套介面中,乙個套接字只是使用者程式與核心互動資訊的樞紐,它自身沒有太多的資訊,也沒有網路協議位址和埠號等資訊,在進行網路通訊的時候,必須把乙個套接字與乙個位址相關聯,這個過程就是位址繫結的過程。許多時候核心會我們自動繫結乙個位址,然而有時使用者可能需要自己來完成這個繫結的過程,以滿足實際應用...

網路程式設計socket之bind函式

摘要 在套介面中,乙個套接字只是使用者程式與核心互動資訊的樞紐,它自身沒有太多的資訊,也沒有網路協議位址和埠號等資訊,在進行網路通訊的時候,必須把乙個套接字與乙個位址相關聯,這個過程就是位址繫結的過程。許多時候核心會我們自動繫結乙個位址,然而有時使用者可能需要自己來完成這個繫結的過程,以滿足實際應用...