#include #include #define mcastaddr "234.5.6.101" //本例使用的多播組位址。
#define mcastport 7000 //繫結的本地埠號。
#define bufsize 5000 //接收資料緩衝大小。
int main( int argc,char ** argv)
if((sock = wsasocket(af_inet, sock_dgram, 0, null, 0,
wsa_flag_multipoint_c_leaf | wsa_flag_multipoint_d_leaf |
//將sock繫結到本機某埠上。
local.sin_family = af_inet;
local.sin_port = htons(mcastport);
local.sin_addr.s_addr = inaddr_any;
if(bind(sock, (struct sockaddr*)&local, sizeof(local)) == socket_error )
//加入多播組
remote.sin_family = af_inet;
remote.sin_port = htons(mcastport);
remote.sin_addr.s_addr = inet_addr(mcastaddr );
if((sockm = wsajoinleaf(sock,(sockaddr*)&remote,sizeof(remote),null,null,null,null, jl_both)) == invalid_socket)
file * pfile;
if ((pfile = fopen(".\\out.264", "wb")) == null)
bool bisstart = false;
while(1)
if (bisstart == false)
else
}fwrite(recvbuf + 24, sizeof(char), ret - 24, pfile); }
closesocket(sockm);
closesocket(sock);
wsacleanup();
return 0;
}
注意:附加依賴項中要新增ws2_32.lib udp組播測試
這周主要做了udp組播的測試 伺服器傳送端 include include include include include include include include include include include include include include std string hello...
關於組播的測試
1.乙個udp client可以同時往多個組播位址傳送資料,多個udpclient可以同時往乙個組播發資料。2.本地udp必須監聽組播埠,否則收不到資料。3.乙個udp可以同時加入多個組播組,多次加入同一組播組會出異常,退出乙個未加入的組也會出異常。4.udp組播接收時可以得到傳送端的位址。5.即使...
組播 多播 的C程式實戰
每個人都有不同的認知規律和習慣,有的人喜歡搞一套嚴密的大理論,論述起來滔滔不絕,不管自己懂不懂,反正讀者 聽者是沒搞懂。有的人喜歡從實踐出發,沒看到 不執行一下,不看到結果,就不太舒服。我感覺,我偏向後者,必須有乙個結果作用於我,我才有感觸。比如初學c語言,我也很不喜歡老師總在講什麼原碼,反碼和補碼...