xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

vc編寫UDP封裝類(實用),注釋很詳盡,應用很方便。值得學習和參考的代碼!

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?
#include?“UdpEx.h“

#ifdef?LogN
#define?Log?LogN(4000)
#elif?(defined?TRACE)
#define?Log?TRACE
#else
#define?Log
#endif

//靜態實例成員
CUdpEx?CUdpEx::m_sInstance;

/*******************************************************************************
*?函數名稱:
*?功能描述: 向指定IP地址和端口發送數據。
*?輸入參數: lpszIP --?目標IP地址。
* nPort --?端口號。
* pData --?數據緩沖區。
*
*?輸出參數:
*?返?回?值: 成功發送完指定的長度返回TRUE,反之返回FALSE。
*?其它說明:
*?修改日期 修改人 修改內容
*?------------------------------------------------------------------------------
*?2008-04-23 周鋒 ?????? 創建
*******************************************************************************/
BOOL?CUdpEx::SendUdpData(LPCSTR?lpszIP?int?nPort?const?char?*pData?int?nLen)
{
Log(“Func?--?BOOL?CUdpEx::SendUdpData(%s?%n?%p?%n)“
lpszIP?nPort?pData?nLen);

SOCKET_HANDLE?hSocket;
struct?sockaddr_in?addrRecv;
if?(0?==?(hSocket?=?socket(AF_INET?SOCK_DGRAM?IPPROTO_UDP)))
{
Log(“創建UDP?Socket句柄失敗!“);
return?FALSE;
}
addrRecv.sin_family?=?AF_INET;
addrRecv.sin_port?=?htons(nPort);
addrRecv.sin_addr.s_addr?=?inet_addr(lpszIP);
int?nSended?=?sendto(hSocket?
pData?
nLen?
0?
(sockaddr*)?&addrRecv?
(int)sizeof(addrRecv));

#if?(defined?_WIN32)?||?(defined?_WINDOWS_)
closesocket(hSocket);
#else
close(hSocket);
#endif

return?(nSended?==?nLen);
}

/*******************************************************************************
*?函數名稱:
*?功能描述: 啟動UDP數據監聽,如果成功將會把數據通過指定回調函數返回。
*?輸入參數: nPort --?監聽的端口號。
* pfnData --?數據反饋的回調函數。
* lpszLocalIP --?本機IP地址,可為空字符串,不可為NULL,輸入空字符串將在所有網卡上進行監聽。
* lpszMultiIP --?組播地址,可為空字符串,不可為NULL,輸入空字符串將不會接受組播信息。
*?輸出參數:
*?返?回?值: 啟動監聽返回TRUE,失敗返回FALSE。
*?其它說明:
*?修改日期 修改人 修改內容
*?------------------------------------------------------------------------------
*?2008-04-23 周鋒 ?????? 創建
*******************************************************************************/
BOOL?CUdpEx::StartReceive(int?nPort?
??DataReceiveCallbackType?pfnData?
??LPVOID?lpContext
??LPCSTR?lpszLocalIP?
??LPCSTR?lpszMultiIP)
{
Log(“Func?--?BOOL?CUdpEx::StartReceive(%d?%p?%s?%s)“?nPort?pfnData?lpszLocalIP?lpszMultiIP);

sockaddr_in?addrRecv;
struct?ip_mreq?mreq;
SOCKET_HANDLE?hSocket?=?socket(AF_INET?SOCK_DGRAM?IPPROTO_UDP);
addrRecv.sin_family?=?AF_INET;
addrRecv.sin_port?=?htons(nPort);
addrRecv.sin_addr.s_addr?=?inet_addr(lpszLocalIP);

//設置端口復用
BOOL?bSockReuse?=?TRUE;
int?iRet?=?setsockopt(hSocket?
SOL_SOCKET
SO_REUSEADDR
(VAL_TYPE)&bSockReuse?sizeof(bSockReuse));


//邦定socket
if(0?!=?bind(hSocket?(sockaddr?*)?&addrRecv?sizeof(addrRecv)))
{
Log(“端口地址綁定失敗<%s:%d>?--?<%d>!“?lpszLocalIP?nPort?WSAGetLastError());
#if?(defined?_WIN32)?||?(defined?_WINDOWS_)
closesocket(hSocket);
#else
close(hSocket);
#endif
return?FALSE;
}

//設置Socket緩沖(一般默認是8192)
int?nRcvBuffSize?=?8192?*?100;
if(0?!=?setso

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????33792??2011-11-17?15:02??UDP封裝類\Debug\vc60.idb

?????文件??????28672??2011-11-17?15:02??UDP封裝類\Debug\vc60.pdb

?????文件??????11930??2008-07-08?17:26??UDP封裝類\UdpEx.cpp

?????文件???????3449??2011-11-17?15:04??UDP封裝類\UdpEx.dsp

?????文件????????518??2009-05-02?14:12??UDP封裝類\UdpEx.dsw

?????文件???????3023??2008-05-08?11:16??UDP封裝類\UdpEx.h

?????文件??????50176??2011-11-17?15:04??UDP封裝類\UdpEx.ncb

?????文件??????53760??2011-11-17?15:04??UDP封裝類\UdpEx.opt

?????文件???????1285??2011-11-17?15:02??UDP封裝類\UdpEx.plg

?????文件??????14726??2008-07-25?16:32??UDP封裝類\udpex_new\udpex\UdpEx.cpp

?????文件???????4171??2008-07-25?16:28??UDP封裝類\udpex_new\udpex\UdpEx.h

?????文件???????5122??2008-07-25?17:16??UDP封裝類\udpex_new.rar

?????文件??????11971??2008-07-09?11:19??UDP封裝類\udpex_old\UdpEx.cpp

?????文件???????3023??2008-05-08?11:16??UDP封裝類\udpex_old\UdpEx.h

?????文件???????4392??2008-07-25?17:16??UDP封裝類\udpex_old.rar

????..A.SHR???????120??2008-12-29?13:48??UDP封裝類\vssver2.scc

?????目錄??????????0??2009-04-27?17:53??UDP封裝類\udpex_new\udpex

?????目錄??????????0??2011-11-17?14:59??UDP封裝類\Debug

?????目錄??????????0??2009-04-27?17:53??UDP封裝類\udpex_new

?????目錄??????????0??2009-04-27?17:53??UDP封裝類\udpex_old

?????目錄??????????0??2011-11-17?15:04??UDP封裝類

-----------?---------??----------?-----??----

???????????????230130????????????????????21


評論

共有 條評論