青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 298  文章 - 377  trackbacks - 0
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(34)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

Multicasting

多播通訊讓網絡客戶充分享受了廣播的便捷而又不用再擔心網絡會被風暴阻塞,所有這一切都歸功于 IGMP 協議的實施。
多播地址是一個D類的IP地址(224.0.0.0-239.255.255.255),其中有一些是為特殊用途而分配的,詳細分配情況請參考 RFC1700。
這里只講述IP多播。IP多播是無根多播,下面只羅列簡單的程序實現,詳細的規范請參考相應的文檔。

#define MCASTADDR "234.5.6.7"
#define MCASTPORT 65500
#define COMMBUFSIZE 1024

// 使用Winsock2
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0) return FALSE;
// 創建多播套接字
SOCKET sock=WSASocket(AF_INET,
SOCK_DGRAM,
0,
NULL,
0,
WSA_FLAG_MULTIPOINT_C_LEAF|
WSA_FLAG_MULTIPOINT_D_LEAF|
WSA_FLAG_OVERLAPPED);
// 綁定套接字
SOCKADDR_IN saiLocal;
saiLocal.sin_family=AF_INET;
saiLocal.sin_port=htons(MCASTPORT);
saiLocal.sin_addr.S_un.S_addr=INADDR_ANY;
if(bind(sock,(SOCKADDR*)&saiLocal,sizeof(saiLocal))==SOCKET_ERROR) return FALSE;
// 設置套接字選項
unsigned long ulNoneBlockingIO=1;
if(SOCKET_ERROR==ioctlsocket(sock, FIONBIO,&ulNoneBlockingIO)) return FALSE;
// Set TTL to 8
int nOpt=8;
if(setsockopt(sock,IPPROTO_IP,IP_MULTICAST_TTL,(char*)&nOpt,sizeof(nOpt))==SOCKET_ERROR) return FALSE;
// Set Loopback
if(m_bLoopBack)
{
BOOL bOpt=0;
if(setsockopt(sock,IPPROTO_IP,IP_MULTICAST_LOOP,(char*)&bOpt,sizeof(bOpt))==SOCKET_ERROR) return FALSE;
}
// 加入多播組
m_saiRemote.sin_family=AF_INET;
m_saiRemote.sin_port=htons(MCASTPORT);
m_saiRemote.sin_addr.S_un.S_addr=inet_addr(MCASTADDR);
DWORD dwFlags=(m_bSender)?JL_SENDER_ONLY:JL_RECEIVER_ONLY;
SOCKET sockM=WSAJoinLeaf(sock,(SOCKADDR*)&m_saiRemote,sizeof(m_saiRemote),NULL,NULL,NULL, NULL,dwFlags);
if(sockM==INVALID_SOCKET)
{
closesocket(sock);
WSACleanup();
return FALSE;
}
// 發送
int nRet=sendto(sock,(char*)pBuf,len,0,(SOCKADDR*)&m_saiRemote,sizeof(m_saiRemote));
// 接收
SOCKADDR_IN sai_From;
int len = sizeof(sai_From);
BYTE buf[COMMBUFSIZE]={'\0'};
int nRetRecv=recvfrom(sock,(char*)buf,COMMBUFSIZE,0,(SOCKADDR*)&sai_From,&len);
// 結束

// 附上一個配置函數
#include "Winsock2.h"
#include "Ws2tcpip.h"

#include "iprtrmib.h"
#include "ipexport.h"
#include "iptypes.h"
#include "iphlpapi.h"

#pragma comment(lib,"ws2_32.lib"
#pragma comment(lib,"iphlpapi.lib"

typedef struct tagNIC
{
int nNum; // 多少塊網卡
unsigned char szHostName[150]; // 主機名
unsigned char szAddr[7*10]; // 每塊網卡地址以 0為間隔255.255.255.255.
unsigned char szMac[7*10]; // 每塊網卡MAC地址0為間隔0x000x040x760x3F0x5F0xA9.
}
NICADDR,*LPNICADDR;

typedef struct tagConfigParam
{
BOOL  bSender; // [IN] 是發送還是接收
char* pszMcastAddr; // [IN] 多播組地址
WORD  wMcastPort; // [IN] 多播端口
NICADDR stuAddr; // [OUT]本地網卡地址信息,函數回填
}
CONFIGPARAM,*LPCONFIGPARAM;

void FuncConfig(CONFIGPARAM* pParam)
{
m_bSender=pParam->bSender;
if(pParam->pszMcastAddr!=NULL)
m_dwMulticastGroup=inet_addr(pParam->pszMcastAddr);
if(pParam->wMcastPort!=0)
m_dwPort=pParam->wMcastPort;
memset(&(pParam->stuAddr),0,sizeof(NICADDR));
char name[MAX_PATH]={'\0'};
if(0==gethostname(name,MAX_PATH))
{
if(strlen(name)>0) strcpy((char*)pParam->stuAddr.szHostName,name);
HOSTENT* HostEnt;
HostEnt=gethostbyname(name);
int n=0;
int m=0;
BOOL bNoConnected=TRUE;
if(HostEnt!=NULL)
{
IP_ADAPTER_INFO AdapterInfo[16];
PIP_ADAPTER_INFO pAdapterInfo;
DWORD dwBufLen=sizeof(AdapterInfo);

DWORD dwRet=GetAdaptersInfo(
AdapterInfo,
&dwBufLen);
if(dwRet==ERROR_SUCCESS) pAdapterInfo=AdapterInfo;

for(int i=0;HostEnt->h_addr_list[i]!=NULL;i++)
{
in_addr ia;
memset(&ia,0,sizeof(ia));
ia.S_un.S_addr = *((unsigned long*)HostEnt->h_addr_list[i]);
char* pszIP = inet_ntoa(ia);
int nLen=strlen(pszIP);
memmove(pParam->stuAddr.szAddr+n,pszIP,nLen);
n+=strlen(pszIP);
n++;

if(dwRet==ERROR_SUCCESS)
{
if(pAdapterInfo)
{
memmove(pParam->stuAddr.szMac+m,pAdapterInfo->Address,6);
pAdapterInfo=pAdapterInfo->Next;
m+=7;
}
}

pParam->stuAddr.nNum++;
}
}
}
}
posted on 2007-08-17 13:18 聶文龍 閱讀(459) 評論(0)  編輯 收藏 引用 所屬分類: net work
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情一区二区三区高清视频| 亚洲欧美日韩精品在线| 久久亚洲国产精品日日av夜夜| 亚洲一二三区精品| 9色精品在线| 一区二区三区四区五区精品视频| 一区二区成人精品| 一区二区三区久久久| 午夜精品国产更新| 久久国产精品亚洲va麻豆| 久久亚洲精品一区二区| 欧美激情亚洲另类| 中日韩午夜理伦电影免费| 午夜久久一区| 久久综合精品一区| 欧美午夜精品久久久久久久| 国产精品久久9| 亚洲大胆女人| 亚洲淫性视频| 乱中年女人伦av一区二区| 亚洲国产精品一区二区第四页av| 日韩图片一区| 久久中文精品| 国产精品日本一区二区| 亚洲国产精品成人精品| 亚洲欧美日韩国产中文| 噜噜噜噜噜久久久久久91| 99国产精品视频免费观看| 久久大逼视频| 国产精品第一页第二页第三页| 黄色资源网久久资源365| 亚洲视频高清| 亚洲国产精品123| 久久成人一区二区| 国产精品亚洲综合久久| 夜夜狂射影院欧美极品| 久久色在线观看| 日韩午夜av在线| 久久一区二区精品| 国产色综合网| 亚洲女同性videos| 亚洲高清成人| 久久亚洲私人国产精品va媚药| 国产精品永久入口久久久| 一本色道久久99精品综合| 麻豆精品在线视频| 久久精品99| 国产亚洲一区二区精品| 欧美一区二区播放| 亚洲一区二区三区在线看| 欧美日韩国产另类不卡| 夜夜爽www精品| 亚洲九九精品| 欧美少妇一区二区| 一区二区三区四区五区精品视频| 欧美激情一区在线| 农村妇女精品| 亚洲精品免费在线观看| 亚洲第一福利在线观看| 蜜月aⅴ免费一区二区三区| 1769国内精品视频在线播放| 欧美成人精精品一区二区频| 亚洲第一网站免费视频| 久久精品国产欧美亚洲人人爽| 国产亚洲精品高潮| 久久资源av| 裸体女人亚洲精品一区| 亚洲日本精品国产第一区| 亚洲国产高清视频| 欧美日韩www| 亚洲一级网站| 午夜精品久久久久久久蜜桃app| 国产欧美精品一区二区三区介绍| 欧美伊人久久大香线蕉综合69| 午夜老司机精品| 尤物99国产成人精品视频| 欧美高清一区二区| 欧美日韩一二区| 久久精品国内一区二区三区| 久久国产加勒比精品无码| 韩日成人av| 欧美激情亚洲另类| 免费观看成人www动漫视频| 一区二区三区不卡视频在线观看| 亚洲视频第一页| 国产中文一区二区| 亚洲黄色免费电影| 欧美三级在线| 久久午夜影视| 欧美日韩美女在线| 久久精品国产视频| 欧美精品一区二区三区蜜桃| 欧美在线你懂的| 欧美成人dvd在线视频| 亚洲一区二区不卡免费| 久久久激情视频| 在线中文字幕一区| 久久精品毛片| 亚洲一区二区三区免费观看| 久久精品人人做人人综合| 亚洲六月丁香色婷婷综合久久| 亚洲一区久久久| 亚洲成人在线视频播放| 99热精品在线观看| 亚洲区第一页| 欧美亚洲一区| 亚洲伊人久久综合| 久久综合伊人77777麻豆| 亚洲欧美日韩精品久久奇米色影视 | 欧美特黄视频| 久久综合久久综合这里只有精品| 欧美精品免费看| 美日韩丰满少妇在线观看| 国产精品亚洲激情| 99国产精品久久久久久久成人热| 影音先锋在线一区| 欧美一区二区三区免费大片| 亚洲综合第一| 欧美无砖砖区免费| 亚洲日本成人| 亚洲精品欧美| 免费亚洲电影在线| 亚洲精品女av网站| 亚洲日本久久| 欧美一区2区三区4区公司二百| 亚洲欧洲三级| 久久精品国产一区二区三区| 香蕉久久久久久久av网站| 欧美午夜美女看片| 亚洲伦伦在线| 在线亚洲欧美专区二区| 欧美精品在线视频观看| 亚洲精品国产精品乱码不99按摩| 最新日韩精品| 欧美大片一区二区| 亚洲国语精品自产拍在线观看| 亚洲激情偷拍| 欧美大片免费久久精品三p| 亚洲国产精品悠悠久久琪琪| 最新国产乱人伦偷精品免费网站 | 91久久久久久久久| 久久阴道视频| 欧美激情一区二区三区不卡| 在线精品视频免费观看| 老妇喷水一区二区三区| 亚洲高清视频在线| 一区二区精品在线观看| 欧美三区美女| 亚洲欧美区自拍先锋| 久久久五月婷婷| 亚洲激情综合| 欧美日韩亚洲高清| 亚洲影院在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲电影免费观看高清| 欧美高清视频一区二区三区在线观看| 亚洲高清不卡在线观看| 亚洲永久在线观看| 韩国自拍一区| 欧美日韩另类综合| 久久黄色级2电影| 亚洲国产美女| 欧美一区二区三区的| 一区二区在线免费观看| 欧美巨乳在线观看| 久久成人亚洲| 亚洲乱码国产乱码精品精98午夜| 亚洲欧美精品一区| 在线观看日韩一区| 欧美日韩一级黄| 欧美一区二区免费| 亚洲经典在线看| 香蕉精品999视频一区二区| 一区三区视频| 欧美午夜电影在线观看| 久久精品免视看| 亚洲精选一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲欧美国产精品va在线观看| 国内免费精品永久在线视频| 欧美激情国产日韩| 亚洲一区二区不卡免费| 欧美成人嫩草网站| 香蕉成人伊视频在线观看| 亚洲精品美女久久7777777| 国产欧美日韩精品专区| 欧美日韩一区在线视频| 老司机免费视频久久| 亚洲激情精品| 欧美色欧美亚洲高清在线视频| 久久精品五月| 国产精品99久久久久久久女警| 久久精品视频在线看| 亚洲图片自拍偷拍| 亚洲第一偷拍| 国产精品亚洲人在线观看| 麻豆亚洲精品| 欧美一级夜夜爽| 一区二区欧美在线观看| 欧美成人精品一区二区三区|