IP多播的VC++實現!

從昨天晚上到現在,斷斷續續花了一點時間終於把IP多播實現了.這也可以說是完成了我的一個小心願吧.因爲以前在學校的時候就想過做這個東西,不過由於客觀條件限制,沒有完成.看來大學沒有買電腦還真是一個不小的錯誤.

在做的過程中遇到了一些問題,多虧了網絡這個大寶庫,在這裏謝謝各位兄弟姐妹的經驗共享,我也把我做過程中的一些問題記下來,方便自己也方便各位參考.

核心代碼是:

上面主要就是一個WSASocket的問題,這個東西很多人在MFC條件下都會遇到一個問題就是不能用.解決它的辦法是將stdafx.h頭文件中加入winsock2.h和在project->setting->LINK中加入ws2_32.lib.同時注意,如果在你原來的stdafx.h文件中有類似afxsock.h頭文件的話,請將其刪除.否則會出現衝突.

還有一處比較關鍵的代碼是:

此處應該做的就是將點對點中的地址改爲多播地址.如果仍採用原來的點對點地址進行發送的話,我嘗試過使用本地迴路地址127.0.0.1,但是在接受端沒辦法接收.或許因爲接收端的m_socket已經加入多播組的緣故.

同時我還做的一件事情就是添加一個析構函數

其他地方與點對點的通信沒有多大區別.

還有一個是採用我的這種方法,socket應爲2.0版本.因此在加載套接字庫的過程當中應加載2.0版本.也可以直接用MSDN當中的事例.把afxsockinit刪除.

大概就這麼多,又學習了一點,不過路還很長.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章