Browse Source

前端推送时间间隔修复为1s一次

lixioayao 6 years ago
parent
commit
bdba3f219e
2 changed files with 4 additions and 12 deletions
  1. 3 11
      websocket/wsTimerThread.cpp
  2. 1 1
      websocket/wsTimerThread.h

+ 3 - 11
websocket/wsTimerThread.cpp

@@ -10,11 +10,6 @@ namespace YA
 	wsTimerThread::wsTimerThread()
 	{
 		__Reset();
-
-		__LastSendTime = { 0 };
-		__LastSendTime.tm_year = 1970 - 1900;
-		__LastSendTime.tm_mon  = 1;
-		__LastSendTime.tm_mday = 1;
 	}
 
 	wsTimerThread::~wsTimerThread()
@@ -82,16 +77,13 @@ namespace YA
 	{	
 		while ( pOwner->__Enable )
 		{
-			std::tm *Now;
-			std::time_t t;
-			t = time( 0 );
-			Now = localtime( &t );
-			int seconds = (int)std::difftime( mktime( Now ), mktime( &__LastSendTime ) );
+			std::time_t t = time( 0 );
+			int seconds = (int)std::difftime( t, __LastSendTime );
 
 			if ( seconds >= pOwner->__Config.SendInterval )
 			{
 				pOwner->__SendCardPos();
-				__LastSendTime = *Now;
+				__LastSendTime = t;
 			}
 
 			boost::this_thread::sleep( boost::posix_time::millisec( 1 ) );

+ 1 - 1
websocket/wsTimerThread.h

@@ -47,7 +47,7 @@ namespace YA
 		boost::mutex __ExitMutex;//锁(配合__ExitCond)
 		_THREAD_CONFIG_ __Config;//线程配置
 		thread_safe_map<uint64_t, _CARD_POS_> __CardPosList;//卡位置列表
-		std::tm __LastSendTime;//上一次发送的时间
+        std::time_t  __LastSendTime{0};//上一次发送的时间
 		jsonBuilder __jsBuilder;//json构造器类
 	private:
 		/**