34.1.7.29926-master

34.1한국어

개요

추가 된 기능

  1. 이제, C NetServer와 NetClient의 OnTick도 람다식으로 사용 가능합니다. 2

  2. 이제, CThreadPool에 대한 callback도 람다식으로 정의 가능합니다. 3

  3. RmiContext.m_fragmentOnNeed가 추가되었습니다. 릴레이 서버가 과부하가 걸리면 시험 사용하십시오.

  4. x86용 Unity Android Plugin 파일이 추가되었습니다.

  5. C# NetClient.SetDefaultTimeoutTimeMS API가 추가되었습니다.

  6. C# NetClient.Disconnect(DisconnectArgs args) API가 추가되었습니다.

  7. "C NetClient"에 DisconnectAsync API가 추가하였습니다.

개선 된 사항

  1. 네트웍 처리량이 많을 때 서버에서 CPU 사용량을 개선하였습니다.

  2. NetClient 네트워크스레드모델이 ThreadModel_MultiThreaded일 때만 스레드를 생성하도록 수정하였습니다.

  3. 이제, NetServer와 NetClient가 종료할 때 예외가 발생할 경우 error를 출력합니다.

  4. NetClient가 외부 CThreadPool을 사용하는 경우, 프로그램 종료시 잠재적 버그가 수정되었습니다.

  5. 서버의 RMI 처리 성능이 개선되었습니다.

  6. NetClient의 netWorkerThreadModel=ThreadModel_SingleThreaded으로 설정 후 사용시 크래시가 나는 문제가 수정되었습니다

  7. NetServer의 RMI 송수신 처리 로직을 최적화하여 CPU 사용량 및 릴레이 서버 처리 능력이 소폭 개선되었습니다.

  8. NetClient.FrameMove가 간혹 10ms정도의 블러킹을 일으키는 버그가 수정되었습니다.

  9. 디버그 모드로 실행시 정상 상황인데도 홀펀칭 관련 오류 문구가 뜨는 부분이 수정되었습니다.

  10. 안드로이드, iOS 환경에서 통신량이 많을 때 레이턴시가 증가하는 문제가 발견되어 수정되었습니다.

  11. 일부 디바이스에서 ACR 이벤트가 중복으로 콜백 되는 문제가 수정 되었습니다.

  12. ACR 재접속 후, SecureReliable RMI 사용 시 DecryptFail 이 나는 문제를 수정 하였습니다.

1애플의 신규 iOS 정책에 따라 2016년 부터 IPv6 Only 환경을 지원해야 합니다.

m_serverIP 값에 IPv4 주소보다 FQDN (DomainName) (ex. www.naver.com) 을 사용 하십시오. 애플 Reject 의 원인이 될 수 있습니다.

(IPv4 주소를 넣어도 정상 작동합니다만, 권고사항에 맞지 않는 부분에 의해 애플의 앱 검수 부분에서 Reject 당하신다면 넷텐션 측에서는 어떠한 책임도 지지 않습니다.)

2

CNetServer* s = ...;

s->Set_OnTick([a,b,c](void*context){ a...b..c.. });

3

CThreadPoolFunctional c;

c.OnThreadBegin = [a,b,c](){a..b..c..};

CThreadPool* p = CThreadPool::Create(&c, ...);

34.2English

Overview

Added Features

1. Now, OnTick of C NetServer and NetClient can be used in a lambda statement. 2

2. Now, the callback for CThreadPool can be defined using a lambda statement. 3

3. RmiContext.m_fragmentOnNeed is added. Give it a test when the relay server is overloaded.

4. The Unity Android Plugin file for x86 has been added.

5. C# NetClient.SetDefaultTimeoutTimeMS API has been added.

6. C# NetClient.Disconnect(DisconnectArgs args) API has been added.

7. To the "C NetClient", DisconnectAsync API has been added.

Improvement

1. The CPU consumption of the server is now better when the network burden is heavier.

2. Changes have been made so that threads are not only created when the network thread model of NetClient is ThreadModel_MultiThreaded.

3. Now, an error will be returned when there is an exception while the NetServer and the NetClient are being terminated.

4. The potential bug that could appear during the termination of the program when NetClient uses CThreadPool is now fixed.

5. The RMI processing capability of the server has been improved.

6. The crashing issue when the NetClient is set as netWorkerThreadModel=ThreadModel_SingleThreaded is now fixed.

7. The RMI transmission/reception processing logic of NetSever is now optimized, so that there is a minor improvement with the CPU consumption and the relay server processing capability.

8. The bug in which NetClient.FrameMove occasionally caused a blocking of approx. 10ms has been fixed.

9. The issue of having an error message related to hole-punching while the system is running on the debug mode but there is no actual problem has been fixed.

10. We discovered an issue where the latency increased when the communication load for Android and iOS communication environment and fixed it.

11. The issue of overlapping callback of the ACR event in some devices has been fixed.

12. The issue of DecryptFail when using SecureReliable RMI after a reconnection to the ACR has been fixed.

1For the m_serverIP value, use a FQDN (DomainName) (ex. www.naver.com) instead of an IPv4 address. This can be a cause of rejection by Apple.

(While the program runs OK even when you throw an IPv4 address, NetTention cannot be held responsible for a rejection by Apple during their application inspection.)

2

CNetServer* s = ...;

s->Set_OnTick([a,b,c](void*context){ a...b..c.. });

3

CThreadPoolFunctional c;

c.OnThreadBegin = [a,b,c](){a..b..c..};

CThreadPool* p = CThreadPool::Create(&c, ...);

34.3日本語

追加された機能

1. もう、C NetServerとNetClientのOnTickもラムダ式で使用可能です。 2

2. もう、CthreadPoolに対するcallbackもラムダ式で定義可能です。 3

3. RmiContext.m_fragmentOnNeedが追加されました。リレーサーバーに過負荷がかかれば試験使用して下さい。

4. x86用のUnity Android Pluginファイルが追加されました。

5. C# NetClient.SetDefaultTimeoutTimeMS APIが追加されました。

6. C# NetClient.Disconnect(DisconnectArgs args) APIが追加されました。

7. "C NetClient"に DisconnectAsync APIが追加されました。.

改善された事項

1. ネットワークの処理量が多い時サーバーでのCPU使用量を改善しました。

2. NetClientネトゥウォクスレッドモデルがThreadModel_MultiThreadedである時だけスレッドを生成するように修正しました。

3. もう、 NetServerとNetClientが終了する時例外が発生する場合errorを出力します。

4. NetClientが外部のCThreadPoolを使用する場合、プログラム終了時の潜在的バグが修正されました。

5. サーバーのRMI処理性能が改善されました。

6. NetClientのnetWorkerThreadModel=ThreadModel_SingleThreadedと設定後使用時クラッシュが発生する問題が修正されました。

7. NetServerのRMI送受信処理ロジックを最適化してCPU使用量およびリレーサーバー処理能力が小幅改善されました。

8. NetClient.FrameMoveが時々10ms程度のブロッキングを起こすバグが修正されました。

9. デバッグ モードで実行時、正常な状況なのにホールパンチング関連の誤り文句が発生する部分が修正されました。

10. アンドロイド、iOS環境で通信量が多い時レイテンシが増加する問題が発見されて修正されました。

11. 一部のディバイスでACRイベントが重複でコールバックする問題が修正されました。

12. ACR再接続後、SecureReliable RMI使用時DecryptFailが発生する問題を修正しました。

1アップルの新規iOS政策により2016年からIPv6 Only環境を支援しなければなりません。m_serverIP値にIPv4住所よりFQDN (DomainName) (ex. www.naver.com)を使用して下さい。アップルRejectの原因になる可能性があります。(IPv4住所を入れても正常動作しますが、勧告事項に合わない部分によってアップルのアプリ検収部分でRejectられたらNettention側ではいかなる責任も負いません。)

2

CNetServer* s = ...;

s->Set_OnTick([a,b,c](void*context){ a...b..c.. });

3

CThreadPoolFunctional c;

c.OnThreadBegin = [a,b,c](){a..b..c..};

CThreadPool* p = CThreadPool::Create(&c, ...);

34.4中國語

概要

添加功能

1. 现在可以以Lambda表达式使用C NetServer和NetClient的OnTick。。 2

2. 现在对CThreadPool的callback也可以以Lambda表达式来定义。 3

3. 已添加RmiContext.m_fragmentOnNeed。如果Relay server出现超负荷现象时,建议进行检测之后使用。

4. 添加x86用Unity Android Plugin文件。

5. 添加C# NetClient.SetDefaultTimeoutTimeMS API。

6. 添加C# NetClient.Disconnect(DisconnectArgs args) API。

7. “C NetClient”上添加DisconnectAsync API。

改善事项

1. 网络处理量多时,服务器上改善CPU使用量。

2. 修改后NetClient网络线程模式只能在ThreadModel_MultiThreaded时生成线程。

3. 现在结束NetServer和NetClient时,发生例外的话输出error。

4. NetClient使用外部CThreadPool的情况下结束程序时潜在的bug得到修改。

5. 服务器的RMI处理性能得到改善。

6. NetClient设置为netWorkerThreadModel=ThreadModel_SingleThreaded之后使用时出现崩溃现象的问题得到修改。

7. 优化NetServer的RMI收发处理逻辑之后,CPU使用量及Relay服务器处理能力小幅得到改善。

8. NetClient.FrameMove偶尔引发10ms左右Blocking的bug得到修改。

9. 通过Debug模式执行时,即使在正常情况下出现Holepunching相关错误语句的部分得到修改。

10. 发现安卓、iOS环境下通信量多时Latency增加的问题,并已得到修改。

11. 部分设备上发生的ACR活动重复回拨的问题得到修改。

12. 重新连接ACR之后使用SecureReliable RMI时发生DecryptFail的问题得到修改。

1根据苹果新的iOS政策,从2016年开始必须支持IPv6 Only环境。

m_serverIP值上请使用 FQDN (DomainName)(ex.www.naver.com),不要使用IPv4地址,要不会成为导致苹果Reject的原因。

(输入IPv4地址时也能正常启动,但是由于不符合建议事项的部分,在苹果的APP验收部分出现Reject现象时,Nettention不负任何责任。)

2

CNetServer* s = ...;

s->Set_OnTick([a,b,c](void*context){ a...b..c.. });

3

CThreadPoolFunctional c;

c.OnThreadBegin = [a,b,c](){a..b..c..};

CThreadPool* p = CThreadPool::Create(&c, ...);