#pragma once #include "BUSClient.Define.hpp" namespace ECOM { namespace ServiceBus { namespace Controller { static const int LegacySendPort = 6630; static const int LegacyReceivePort = 6631; //----------------------------------------------------------------------------- // Client, 基类, 可以发送消息 //----------------------------------------------------------------------------- class _ServiceBus_API Client { public: static void SetLogFileName (LPCSTR FileName); static void Prepare (); static void Quit (); // 设置缺省的超时, 单位: 毫秒 static int SetDefTimeOut (int msTimeOut); static int GetDefCommandPort (); static int GetDefStatusPort (); Client (); virtual ~Client (); void SetSourceID (LPCSTR SourceID); DString SetUniqueSourceID (LPCSTR SourceID); DString GetSourceID () const; void ConnectTo (LPCSTR IPAddress); bool SetTcpNoDelay (bool bSet); int SetSocketOption (int level, int optname, const char * optval, int optlen); DString GetConnectIPAddress (void) const { return m_IPAddress; } bool IsOnline (LPCSTR TargetID); bool BUSSetting (DWORD Command, LPCSTR Key, LPCSTR Value); virtual bool Connect (); virtual void Disconnect (); virtual void Close (); static DString Command2String (int Cmd); protected: DString m_IPAddress; int m_CommandPort; int m_NbOfChannel; DString m_SourceID; bool m_bTcpNoDelay; // class BUSSendPDU * m_BUSNetPDU; class BUSNetPDUProxy * m_BUSNetPDU; protected: static bool bInited; static int gDefMSTimeOut; public: int m_SeriesNo; public: _tUnsafeDelegate OnBusError; protected: void OnBusPDUError (const void *, EventArgs_Error * arg); protected: void FireBusError (int ErrorCode, LPCSTR ErrorMessage); }; } } };