📄 udpserver.h
字号:
#ifndef __UDPSERVER_H__
#define __UDPSERVER_H__
//#pragma once
#include "afxsock.h"
#include "..\..\global\tcpbase.h"
class _declspec(dllexport) CUdpServer
{
public:
CUdpServer(void);
~CUdpServer(void);
int __cdecl SendToIP(char* lpbuf,int ilen, CString ipString, int iPort);
int __cdecl SendToIP(CString strMsg, CString ipString, int iPort);
// 待发送的信息
sMsgBody m_MsgBody;
// 处理窗体
CWnd* hOwner;
// 存储已经接收的IP地址及端口
CStringArray m_IPList;
// 增加新的IP地址到地址列表中
int AddIPPort(CString strIP, int iPort);
// 发送数据信息给所有连接的地址
int SendInfo(CString SBuf);
// 发送信息给所有连接过的IP地址
int SendInfo(char * lpBuf, int ilen);
// 取得IP地址及端口
int GetIPAndPort(const CString ipSource, CString & ipStr, int & iPort);
// 设置父窗体对象
void SetParentWnd(CWnd * m_wnd);
CString IPString;
BOOL GetIPAddress(CString& sIpAddress);
//开始监测
BOOL StartMonitoring(int iPort = DEFAULT_PORT);
BOOL StopMonitoring(void);
// 当前打开Socket
CAsyncSocket *m_udpSocket;
CAsyncSocket *m_clientSocket;
// 端口打开状态
// 端口号
int m_Port;
// 发动字节数
long m_SendCount;
// 接收字节数
long m_ReceiveCount;
// Socket类型
int m_SockType;
// //线程接收状态
BOOL m_ThreadState;
HANDLE m_hEventArray[3]; //事件存放数组
private:
// 读事件
HANDLE hReadEvent;
// 写事件
HANDLE hWriteEvent;
// 关闭事件
HANDLE hShutDownEvent;
BOOL m_Open;
protected:
// UDP通信线程
CWinThread *pThreadUdp;
static UINT _UDPThread(LPVOID lparam); /////UDP接受信息线程开始
public:
// 打开端口
BOOL OpenPort(int iPort);
int ClosePort(void);
// 是否打开
BOOL IsOpen(void);
// 是否在监测
BOOL IsServer(void);
};
#endif __UDPSERVER_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -