您的位置:首页 > Web前端

一个简单的局域网多播示例

2005-11-22 10:31 344 查看
/*
*描述:一个简单的局域网多播示例(MultiCast In LAN. C++ Sample Codes)
*作者:魏孙鼎
*Email:weisunding@gmail.com
*2005年6月21日,广州
*/ std SendProc arg RecvProc arg WSAData wsaData WSAStartupMAKEWORDwsaData
coutendl

SOCKET server
server socketAF_INET SOCK_DGRAM ret on
ret setsockoptserver SOL_SOCKET SO_REUSEADDRonon routenum
ret setsockoptserverIPPROTO_IPIP_MULTICAST_TTLroutenumroutenum loopback
ret setsockoptserverIPPROTO_IPIP_MULTICAST_LOOPloopbackloopback sockaddr_in local
localsin_family AF_INET
localsin_port htonsMULTICAST_PORT
localsin_addrS_unS_addr INADDR_ANY ret bindserversockaddrlocallocal ip_mreq mreq
mreqimr_interfaceS_unS_addr INADDR_ANY mreqimr_multiaddrS_unS_addr inet_addrMULTICAST_IP ret setsockoptserverIPPROTO_IPIP_ADD_MEMBERSHIPmreqmreq HANDLE hSend CreateThreadNULL
NULLLPTHREAD_START_ROUTINESendProcserver
NULL
NULL HANDLE hRead CreateThreadNULL
NULLLPTHREAD_START_ROUTINERecvProcserver
NULL
NULL WaitForSingleObjecthSend INFINITE
WSACleanup SendProc arg
SOCKET serverSOCKETarg sendlineBUFFER_SIZE sockaddr_in remote
remotesin_addrs_addr inet_addr MULTICAST_IP
remotesin_family AF_INET
remotesin_port htonsMULTICAST_PORT

coutendl
cingetlinesendline BUFFER_SIZEstrncmpsendline  sendtoserver sendline strlensendlinesockaddrremoteremote

coutendl RecvProc arg
SOCKET serverSOCKETarg bufBUFFER_SIZE ret

sockaddr_in client clientLen
clientLenclient
memsetbufbuf

ret recvfromserver buf BUFFER_SIZEsockaddrclientLenclientLenretret
coutendl
coutretendl
coutbufendl
coutendl

coutendl
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息