組播測試小程式

2021-06-06 20:07:46 字數 1206 閱讀 4074

#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語言,我也很不喜歡老師總在講什麼原碼,反碼和補碼...