OSDN Git Service

サーバー起動直度にクライアントを接続すると拒絶される問題を修正
authorh2so5 <h2so5@git.sourceforge.jp>
Mon, 1 Oct 2012 05:39:23 +0000 (14:39 +0900)
committerh2so5 <h2so5@git.sourceforge.jp>
Mon, 1 Oct 2012 05:39:23 +0000 (14:39 +0900)
client/version.hpp
common/network/Session.cpp
server/Server.cpp
server/main.cpp
server/version.hpp

index 9de1226..d76f644 100644 (file)
@@ -9,7 +9,7 @@
 
 #define MMO_VERSION_MAJOR 0
 #define MMO_VERSION_MINOR 3
-#define MMO_VERSION_REVISION 9
+#define MMO_VERSION_REVISION 10
 
 #define MMO_PROTOCOL_VERSION 2
 
index 210e3cd..d2a7aed 100644 (file)
@@ -18,8 +18,8 @@ namespace network {
       encryption_(false),\r
       online_(true),\r
       login_(false),\r
-      read_start_time_(time(nullptr)),\r
-      write_start_time_(time(nullptr)),\r
+      read_start_time_(time(nullptr) - BYTE_AVERAGE_REFRESH_SECONDS),\r
+      write_start_time_(time(nullptr) - BYTE_AVERAGE_REFRESH_SECONDS),\r
       read_byte_sum_(0),\r
       write_byte_sum_(0),\r
       serialized_byte_sum_(0),\r
index 2c229ce..f59de94 100644 (file)
@@ -35,7 +35,7 @@ namespace network {
             } else if (auto session = c.session().lock()) {\r
                                auto read_average = session->GetReadByteAverage();\r
                                if (read_average > config_.receive_limit_2()) {\r
-                                       Logger::Info(_T("Banished session: %d"), session->id());\r
+                                       Logger::Info(_T("Banished session: %d %dbyte/s"), session->id(), read_average);\r
                                        session->Close();\r
                                } else if(read_average > config_.receive_limit_1()) {\r
                                        Logger::Info(_T("Receive limit exceeded: %d: %d byte/s"), session->id(), read_average);\r
index b670d26..544f682 100644 (file)
 \r
 using namespace boost::posix_time;\r
 \r
+void client_sync(network::Server& server);\r
+void server();\r
+\r
 int main(int argc, char* argv[])\r
 {\r
-    // 設定を読み込み\r
-    Config config;\r
-\r
        Logger::Info(_T("%s"), unicode::ToTString(MMO_VERSION_TEXT));\r
 \r
+#ifndef NDEBUG\r
  try {\r
+#endif\r
+\r
+        server();\r
+\r
+#ifndef NDEBUG\r
+  } catch (std::exception& e) {\r
+      Logger::Error(e.what());\r
+      Logger::Info("Stop Server");\r
+  }\r
+#endif\r
+\r
+  return 0;\r
+\r
+}\r
+\r
+void server()\r
+{\r
+\r
+    // 設定を読み込み\r
+    Config config;\r
 \r
     // 署名\r
     network::Signature sign("server_key");\r
@@ -342,6 +363,12 @@ int main(int argc, char* argv[])
 \r
     });\r
 \r
+       client_sync(server);\r
+    server.Start(callback);\r
+}\r
+\r
+void client_sync(network::Server& server)\r
+{\r
     bool execute_with_client;\r
     try {\r
                #ifdef _WIN32\r
@@ -374,14 +401,4 @@ int main(int argc, char* argv[])
     #ifdef __linux__\r
     network::ServerSigHandler handler(SIGINT,&server);\r
     #endif\r
-    server.Start(callback);\r
-\r
-  } catch (std::exception& e) {\r
-      Logger::Error(e.what());\r
-      \r
-      Logger::Info("Stop Server");\r
-  }\r
-\r
-  return 0;\r
-\r
 }\r
index 82fab2a..b1fdac4 100644 (file)
@@ -9,7 +9,7 @@
 \r
 #define MMO_VERSION_MAJOR 0\r
 #define MMO_VERSION_MINOR 2\r
-#define MMO_VERSION_REVISION 0\r
+#define MMO_VERSION_REVISION 1\r
 \r
 #define MMO_PROTOCOL_VERSION 2\r
 \r