?? udp.h
字號(hào):
// UDP_CE.h: interface for the CUDP_CE class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_UDP_CE_H__9D1E867E_58EC_45C5_B886_3BC0E163A375__INCLUDED_)
#define AFX_UDP_CE_H__9D1E867E_58EC_45C5_B886_3BC0E163A375__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "WinSock.h"
#pragma pack(push,1)
//UDP客戶(hù)端接收數(shù)據(jù)回調(diào)函數(shù)
typedef void (CALLBACK* ONUDPRECV)(CWnd*,char* buf,int bufLen,sockaddr*);
class CUDP_CE
{
public:
CUDP_CE();
virtual ~CUDP_CE();
public:
//打開(kāi)UDP通訊
DWORD Open(CWnd* pWnd,int localPort, LPCTSTR remoteHost ,int remotePort);
//關(guān)閉UDP通訊
DWORD Close(void);
//發(fā)送數(shù)據(jù)
bool SendData(const char *buf, int len);
public:
//UDP接收數(shù)據(jù)事件
ONUDPRECV m_OnUdpRecv;
private:
SOCKET m_UDPSocket; //UDP Socket通訊套接字
struct sockaddr_in m_RemoteAddr; //存儲(chǔ)遠(yuǎn)程通訊地址
HANDLE m_ExitThreadEvent; //線程退出事件
CWnd * m_pOwnerWnd; //存儲(chǔ)父窗體句柄
private:
//通訊線程函數(shù)
static UINT RecvThread(LPVOID lparam);
};
#pragma pack(pop)
#endif // !defined(AFX_UDP_CE_H__9D1E867E_58EC_45C5_B886_3BC0E163A375__INCLUDED_)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -