udpserver.h

来自「UDP的服务器与客户端基类」· C头文件 代码 · 共 49 行

H
49
字号

#ifndef UDP_SERVER_H
#define UDP_SERVER_H

#include "Config.h"

typedef struct _thread_pack
{
	void *obj;
	void *buf;
	struct sockaddr_in addr;
} THREAD_PACK;

class CUdpServer
{
public:
	CUdpServer(short pt);
	virtual ~CUdpServer(void);

	int NonBlockStart(void);
	int BlockStart(void);
	int Stop(void);
	int Restart(void);

	void SetPort(short pt);

	virtual void Engine(void *buf, int len, struct sockaddr_in &dest) = 0;
	__int32_t WriteTo(void *buf, __u_int len, struct sockaddr_in &dest);

private:
	int Init(void);

	static DWORD WINAPI WorkerThread(LPVOID arg);
	static DWORD WINAPI ListenThread(LPVOID arg);

private:
	short port;
	bool  over;
	WSADATA wsa;
	WORD    WinVersion;
	SOCKET  sock;
	HANDLE  listen_thread;

};

#endif


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?