Newer
Older
PrismSoftware / ECTrainer2 / KeepAlive.h
#pragma once

#include "BaseProcess.h"

class KeepAlive : public BaseProcess {
	const int PORT = 49152;	// The port on which to listen for incoming data
	const int KEEP_ALIVE_WAIT_COUNT = 20;	// 送信間隔 x100ms

	SOCKET _socket;	// ソケット
	struct sockaddr_in _socketAddr; // 接続先アドレス
	bool _sent;	// シグナル発信状態 true: 発信済 false: 未発信
	int _socketAddrLen; // アドレス情報のサイズ
	int _count;	// ループカウント

public:
	static const int SOCKET_BUF_LEN = 512;	// Socket通信バッファサイズ

	// コンストラクタ
	KeepAlive(ECTrainer* pEct);
	// 初期化
	bool Init();
	// メインループ
	bool Routine();
	// シグナル発信状態取得
	bool IsSent() { return _sent; };
	// ソケット取得
	SOCKET GetSocket() { return _socket; }
	// ソケットアドレス取得
	struct sockaddr* GetSocketAddr() { return (struct sockaddr*)&_socketAddr; }
	// ソケットアドレス長取得
	int GetSocketAddrLen() { return _socketAddrLen; }
};