亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? udpsocket.cpp

?? nettalk
?? CPP
字號:
//NetTalk
/*------------------------------------------------------------------------------*\
 =============================
   模塊名稱: UDPSocket.cpp
 =============================
 //Download by http://www.codefans.net
 [版權(quán)]
 
   2000-2002  115軟件工廠  版權(quán)所有
                                              
\*------------------------------------------------------------------------------*/
#include <winsock2.h>

#include "UDPSocket.h"
#pragma comment(lib,"Ws2_32")

/*------------------------------------------------------------------------------*/
//初始化
WORD InitializeSocket()
{
	WORD wVersionRequested;
	WSADATA wsaData;
	WORD wVerGet=0;
	wVersionRequested=MAKEWORD(2,2);
	while(1)
	{
		int err;
		
		err = WSAStartup(wVersionRequested, &wsaData );
		if ( err != 0 ) 
		{
			BYTE* p=(BYTE*)&wVersionRequested;
			if(p[1]>0)
				p[1]--;
			else
			if(p[1]==0)
			{
				p[1]=1;
				if(p[0]>1)
					p[0]--;
				else
				if(p[0]==0)
				{
					break;
				}
			}
			continue;
		}
		else
		{
			wVerGet=wsaData.wVersion;
			break;
		}
	}
	return wVerGet;
	
}
/*------------------------------------------------------------------------------*/
int CleanUpSocket()
{
	return WSACleanup();
}
/*------------------------------------------------------------------------------*/
CUDPSocket::CUDPSocket()
{
	memset((void*)&m_LocalAddr,0,sizeof(m_LocalAddr));
	memset((void*)&m_RemoteAddr,0,sizeof(m_RemoteAddr));
	m_Socket=0;

}
/*------------------------------------------------------------------------------*/
CUDPSocket::~CUDPSocket()
{
	Destroy();
}



/*------------------------------------------------------------------------------*/



BOOL CUDPSocket::Create(UINT uSocketPort,char* pszSockAddr)
{
	BOOL bRet=FALSE;
	if(!m_Socket)
	{
		m_LocalAddr.sin_family=AF_INET;
		if(pszSockAddr)
			m_LocalAddr.sin_addr.s_addr=Name2Inet(pszSockAddr);
		else
			m_LocalAddr.sin_addr.s_addr=htonl(INADDR_ANY);
		
		if((m_Socket=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP))!=INVALID_SOCKET)
		{  //創(chuàng)建無連接數(shù)據(jù)報套接口
			m_LocalAddr.sin_port=htons(uSocketPort);
			if(bind(m_Socket,(SOCKADDR*)&m_LocalAddr,sizeof(SOCKADDR_IN))==SOCKET_ERROR)
			{   
				m_Socket=0;
				memset((void*)&m_LocalAddr,0,sizeof(m_LocalAddr));
			}
			else
			{
				bRet=TRUE;
			}
			
		}
	}
	return bRet;

}
/*------------------------------------------------------------------------------*/
int CUDPSocket::Destroy()
{
	int iRet;
	shutdown(m_Socket,SD_SEND);
	iRet=closesocket(m_Socket);
	memset((void*)&m_LocalAddr,0,sizeof(m_LocalAddr));
	memset((void*)&m_RemoteAddr,0,sizeof(m_RemoteAddr));
	m_Socket=0;
	return iRet;
}
/*------------------------------------------------------------------------------*/
int CUDPSocket::SendTo(const char *pBuf, int iLen, char *pszRemoteSockAddr,unsigned short uPort) const
{
	SOCKADDR_IN RemoteAddr;
	RemoteAddr.sin_family=AF_INET;
	RemoteAddr.sin_addr.s_addr=Name2Inet(pszRemoteSockAddr);
	RemoteAddr.sin_port=htons(uPort);
	return sendto(m_Socket,pBuf,iLen,0,(SOCKADDR*)&RemoteAddr,sizeof(SOCKADDR_IN));
}
/*------------------------------------------------------------------------------*/
int CUDPSocket::SendTo(const char *pBuf,int iLen,SOCKADDR* pRemoteAddr) const
{
	if(!pRemoteAddr)
		pRemoteAddr=(SOCKADDR*)&m_RemoteAddr;
	return sendto(m_Socket,pBuf,iLen,0,pRemoteAddr,sizeof(SOCKADDR_IN));
}
/*------------------------------------------------------------------------------*/
int CUDPSocket::RecvFrom(char *pBuf, int iLen,SOCKADDR* pRemoteAddr) const
{
	int addrlen=sizeof(SOCKADDR_IN);
	SOCKADDR_IN RemoteAddr;
	if(!pRemoteAddr)
	{
		pRemoteAddr=(SOCKADDR*)&RemoteAddr;
	}	
	return recvfrom(m_Socket,pBuf,iLen,0,pRemoteAddr,&addrlen);
}
/*------------------------------------------------------------------------------*/
SOCKET CUDPSocket::GetSocket() const
{
	return m_Socket;
}
/*------------------------------------------------------------------------------*/
SOCKADDR_IN CUDPSocket::GetLocalAddr() const
{
	return m_LocalAddr;
}
/*------------------------------------------------------------------------------*/
SOCKADDR_IN CUDPSocket::SetRemoteAddr(const SOCKADDR_IN &NewRemoteAddr)
{
	SOCKADDR_IN OldAddr;
	OldAddr=m_RemoteAddr;
	m_RemoteAddr=NewRemoteAddr;
	return OldAddr;
}
/*------------------------------------------------------------------------------*/


SOCKADDR_IN CUDPSocket::GetRemoteAddr() const
{
	return m_RemoteAddr;
}


/*------------------------------------------------------------------------------*/
u_long CUDPSocket::GetLocal_in_addr()
{
	char szHostname[256];
	if (gethostname(szHostname, sizeof(szHostname)))
	{
		return htonl(INADDR_ANY) ;
	}
	//得到主機信息
	HOSTENT* pHostEnt = gethostbyname(szHostname);
	if (pHostEnt == NULL)
	{
		return htonl(INADDR_ANY);
	}
	
	//檢查地址長度
	if (pHostEnt->h_length != 4)
	{
		return htonl(INADDR_ANY);
	}
	
	return   ((struct in_addr *)*pHostEnt->h_addr_list)->s_addr;
	
}
/*------------------------------------------------------------------------------*/

u_long CUDPSocket::Name2Inet(LPCSTR szAddress)
{
	if(szAddress==NULL||strlen(szAddress)<1)
	{
		return htonl(INADDR_ANY);
	}
	BOOL name=FALSE;
	for (int i=0;szAddress[i];i++)
	{
		if((!isdigit(szAddress[i]))&&szAddress[i]!='.')
		{
			name=TRUE;break;
		}
	}
	//不是計算機名,是IP
	if(!name)
		return inet_addr(szAddress); 
	//是計算機名
	else 
	{
		struct hostent*host=gethostbyname(szAddress);
		
		if(host==NULL)
		{
			return htonl(INADDR_ANY);
		}
		return *(long*)host->h_addr;
	}
	
	
}
/*------------------------------------------------------------------------------*/


BOOL CUDPSocket::IsSocket()
{
	return (BOOL)m_Socket;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕欧美一区| 美国精品在线观看| 亚洲欧洲精品一区二区精品久久久 | 亚洲精品乱码久久久久| 国产精品视频免费看| 欧美国产乱子伦| 国产三级一区二区三区| 国产精品网曝门| 中文字幕制服丝袜一区二区三区| 中文字幕国产精品一区二区| 亚洲视频1区2区| 洋洋av久久久久久久一区| 亚洲一区成人在线| 日韩电影在线免费看| 久久精品国产99国产精品| 久久66热re国产| 懂色av中文字幕一区二区三区| 春色校园综合激情亚洲| 91香蕉视频黄| 欧美另类一区二区三区| 日韩欧美中文字幕精品| 国产区在线观看成人精品| 中文在线一区二区| 一区二区三区四区精品在线视频| 亚洲一级在线观看| 日本韩国精品在线| 欧美熟乱第一页| 日韩欧美中文字幕精品| 日本一区二区三区四区 | 久久99国产精品免费| 国产一区二区91| 99久久国产综合色|国产精品| 日本丶国产丶欧美色综合| 这里是久久伊人| 久久久蜜桃精品| 一区二区在线观看视频在线观看| 无码av免费一区二区三区试看| 麻豆成人免费电影| av在线不卡免费看| 欧美一区二区三区视频免费| 国产夜色精品一区二区av| 伊人一区二区三区| 激情成人综合网| 91蜜桃网址入口| 欧美不卡一区二区三区| 综合电影一区二区三区| 爽好久久久欧美精品| 成人精品视频网站| 91精品国模一区二区三区| 国产精品私人影院| 日本不卡免费在线视频| a级精品国产片在线观看| 欧美美女直播网站| 国产精品欧美极品| 麻豆成人av在线| 91福利国产成人精品照片| 久久久久久综合| 亚洲一卡二卡三卡四卡| 成人手机在线视频| 日韩欧美中文字幕精品| 亚洲精品成a人| 国产精品一区二区在线看| 欧美日韩一区三区| 国产精品成人免费在线| 国产一区二区三区综合| 欧美日韩的一区二区| 亚洲欧洲av在线| 国内一区二区视频| 日韩一区二区免费视频| 亚洲在线成人精品| 91香蕉视频黄| 国产精品成人免费在线| 国产福利精品一区| 日韩欧美第一区| 午夜精品久久一牛影视| 91蝌蚪porny| 中文欧美字幕免费| 91精品国产入口在线| 亚洲人被黑人高潮完整版| 国产精品综合在线视频| 日韩一区二区免费在线电影| 亚洲高清免费观看| 在线视频一区二区三| 亚洲天天做日日做天天谢日日欢 | 欧美第一区第二区| 香蕉av福利精品导航| 在线观看视频91| 亚洲美女区一区| av动漫一区二区| 国产精品久久久久久久蜜臀| 国产乱码精品一区二区三区五月婷 | 91蜜桃婷婷狠狠久久综合9色| 国产丝袜欧美中文另类| 国产成人自拍在线| 久久精品欧美一区二区三区麻豆| 久久国产欧美日韩精品| 日韩视频永久免费| 麻豆国产精品777777在线| 欧美大肚乱孕交hd孕妇| 狠狠色狠狠色合久久伊人| 日韩欧美国产精品| 久久国产日韩欧美精品| 日韩午夜电影av| 麻豆精品久久精品色综合| 精品日韩一区二区| 国产高清成人在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产女主播视频一区二区| 精品一区二区三区蜜桃| 精品成人一区二区三区四区| 久久疯狂做爰流白浆xx| 欧美精品一区二区三区一线天视频 | 亚洲色图20p| 色综合久久中文字幕| 亚洲激情成人在线| 欧美日韩成人激情| 久久国产精品99久久久久久老狼 | 蜜桃精品视频在线| 亚洲精品一线二线三线| 国产不卡一区视频| 亚洲天堂av一区| 欧美视频一区在线| 欧美aaaaa成人免费观看视频| 欧美成人性战久久| 懂色av一区二区夜夜嗨| 自拍av一区二区三区| 欧美视频一区二区三区在线观看| 午夜日韩在线电影| 久久色中文字幕| 成人福利电影精品一区二区在线观看| 亚洲欧美日韩综合aⅴ视频| 欧美午夜一区二区三区免费大片| 日本欧美大码aⅴ在线播放| 久久―日本道色综合久久| 99这里只有精品| 午夜视频在线观看一区二区三区| 精品少妇一区二区三区在线播放| 成人免费精品视频| 亚洲bt欧美bt精品| 精品毛片乱码1区2区3区| 波多野结衣中文字幕一区二区三区| 一区二区三区日韩欧美| 日韩欧美在线综合网| 成人美女在线视频| 性做久久久久久久久| 国产色婷婷亚洲99精品小说| 日本韩国欧美一区| 国产一区二区三区黄视频| 亚洲女性喷水在线观看一区| 4438亚洲最大| www.亚洲色图.com| 日本va欧美va瓶| 亚洲天堂2014| 精品粉嫩aⅴ一区二区三区四区| 91麻豆免费视频| 国内外成人在线视频| 亚洲综合免费观看高清完整版 | 亚洲一区二区欧美| 久久先锋影音av鲁色资源网| 91久久线看在观草草青青| 国精产品一区一区三区mba视频 | 色婷婷亚洲综合| 国产一区视频在线看| 亚洲一线二线三线视频| 日本一区二区视频在线观看| 91 com成人网| 一本色道**综合亚洲精品蜜桃冫| 久久精品国产精品青草| 亚洲午夜在线视频| 国产精品国产自产拍在线| 日韩一区二区中文字幕| 色婷婷综合五月| 成人夜色视频网站在线观看| 免费观看日韩电影| 天天色图综合网| 亚洲自拍偷拍av| 亚洲免费在线看| 欧美激情一区二区三区在线| 日韩一区二区视频| 欧美午夜精品久久久久久超碰| a4yy欧美一区二区三区| 国产风韵犹存在线视精品| 麻豆精品视频在线观看免费 | 色综合天天性综合| 粉嫩高潮美女一区二区三区| 精品一区二区三区免费| 全部av―极品视觉盛宴亚洲| 亚洲一区av在线| 亚洲自拍偷拍av| 一区二区三区日韩| 一区二区在线观看视频| 国产精品视频第一区| 国产三级一区二区| 久久久久久久久久久电影| 日韩欧美一级精品久久| 欧美v日韩v国产v| 欧美成人aa大片| 欧美成人r级一区二区三区| 日韩欧美不卡在线观看视频| 制服丝袜av成人在线看|