⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpserver.h

📁 MDF监控源码2
💻 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 + -