33.1한국어
릴리즈 버전: 1.7
빌드 번호: 30692
릴리즈 타입: master
릴리즈 날짜: 2016년 01월 28일 (한국시간기준)
수정
NetClient에서 ACR(연결유지기능) + RmiContext.SecureReliableSend로 서버에 패킷을 전송하였을 때 "Decryption Failed" 나는 문제가 수정되었습니다.
MFC 기반 프로젝트에서 프라우드넷을 사용하였을 때 발생하던 컴파일 오류가 수정되었습니다.
NetClient NDK 라이브러리에서 NetClient.Connect, NetClient.FrameMove 함수 호출시 발생하던 Crash 문제가 수정되었습니다.
리눅스 환경에서 NetClient/NetServer를 실행/종료를 반복했을 경우 발생하던 프리징 문제가 수정되었습니다.
홀펀칭 재사용이 되는 P2P 맺기/끊기를 몇 분 동안 반복할 경우 RUDP Fail로 P2P가 릴레이 타는 문제가 수정되었습니다.
NetClient NetworkThreadModel = ThreadModel_SingleThreaded로 설정후 사용시 발생하던 Crash 문제가 수정되었습니다.
C++, C# NetClient.Connect 함수가 수행되는 동안 문제가 발생할 경우 내부에서 Exception을 throw 합니다.
try~catch 구문을 사용하여 Exception을 처리하여야 합니다.
NetClient.Connect 호출한 이후에 NetClient.Disconnect 함수를 호출하지 않고 다시 NetClient.Connect 함수를 호출할 경우 NetClient.Connect 함수 내부에서 Exception이 발생이 되도록 수정이 되었습니다.
NetClient.Connect 함수를 호출할 경우 NetClient.Disconnect 함수를 명시적으로 호출을 하고 NetClient.Connect 함수를 호출해야 합니다.
C++, C# NetClient.Connect 함수가 수행되는 동안 문제가 발생할 경우 내부에서 Exception을 throw 하기 때문에 try~catch 구문을 사용하여 Exception을 처리해야 합니다.
CSingleton 클래스의 인터페이스가 변경되었습니다.
람다식 NetClientEvent, NetServerEvent 이벤트 등록 함수 API 이름이 변경되었습니다.
추가
C#
NetServer.AllowEmptyP2PGroup
API가 추가되었습니다.SimeAdoMySql 샘플에 Parameter을 넘겨 데이터를 조회하는 Stored Procedure 예제가 추가되었습니다.
개선
NetClient에서 ACR(연결유지기능) + RmiContext.SecureReliableSend로 서버에 패킷을 전송하였을 때 "Decryption Failed" 나는 문제가 수정되었습니다.
MFC 기반 프로젝트에서 프라우드넷을 사용하였을 때 발생하던 컴파일 오류가 수정되었습니다.
NetClient NDK 라이브러리에서 NetClient.Connect, NetClient.FrameMove 함수 호출시 발생하던 Crash 문제가 수정되었습니다.
리눅스 환경에서 NetClient/NetServer를 실행/종료를 반복했을 경우 발생하던 프리징 문제가 수정되었습니다.
홀펀칭 재사용이 되는 P2P 맺기/끊기를 몇 분 동안 반복할 경우 RUDP Fail로 P2P가 릴레이 타는 문제가 수정되었습니다.
NetClient NetworkThreadModel = ThreadModel_SingleThreaded로 설정후 사용시 발생하던 Crash 문제가 수정되었습니다.
C++, C# NetClient.Connect 함수가 수행되는 동안 문제가 발생할 경우 내부에서 Exception을 throw 합니다.
try~catch 구문을 사용하여 Exception을 처리하여야 합니다.
NetClient.Connect 호출한 이후에 NetClient.Disconnect 함수를 호출하지 않고 다시 NetClient.Connect 함수를 호출할 경우 NetClient.Connect 함수 내부에서 Exception이 발생이 되도록 수정이 되었습니다.
NetClient.Connect 함수를 호출할 경우 NetClient.Disconnect 함수를 명시적으로 호출을 하고 NetClient.Connect 함수를 호출해야 합니다.
C++, C# NetClient.Connect 함수가 수행되는 동안 문제가 발생할 경우 내부에서 Exception을 throw 하기 때문에 try~catch 구문을 사용하여 Exception을 처리해야 합니다.
CSingleton 클래스의 인터페이스가 변경되었습니다.
람다식 NetClientEvent, NetServerEvent 이벤트 등록 함수 API 이름이 변경되었습니다.
추가
C#
NetServer.AllowEmptyP2PGroup
API가 추가되었습니다.SimeAdoMySql 샘플에 Parameter을 넘겨 데이터를 조회하는 Stored Procedure 예제가 추가되었습니다.
개선
NetServer의 성능이 개선되었습니다.
퇴역
프라우드넷에서 지원하는 NDK 버전 r8b가 퇴역되었습니다.
공식 지원 NDK 버전은 r9d, r10d 버전입니다.
윈도우즈 플랫폼을 제외한 플랫폼에서 사용되던 유니코드 문자셋을 사용하는 libProudNetClient-wchar.a 라이브러리가 퇴역되었습니다.
참조
참조 [1]
유니코드 문자셋을 사용하는 경우(ProudNet은 멀티바이트 문자셋)
프라우드넷에서 제공하는 문자열 변환 함수를 사용합니다. (Proud/include/PNString.h 에서 확인 가능)
// ex) wchar_t serverIp[] = L"127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = StringW2A(serverIp); // 문자열 변환 함수 사용합니다. param.m_serverPort = serverPort; }
참조 [2]
반대로 멀티바이트 문자셋을 사용하는 경우(ProudNet은 멀티바이트 문자셋)
멀티바이트 문자셋을 사용하는 경우 별도의 문자열 변환 함수를 사용하지 않아도 됩니다.
// ex) char serverIp[] = "127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = serverIp; // 문자열 변환 함수를 사용하지 않습니다. param.m_serverPort = serverPort; }
참조 [3]
// ex) Nettention.Proud.ErrorInfo errorInfo = new Nettention.Proud.ErrorInfo(); try { if (Client.Connect(cp, errorInfo) == false) Console.WriteLine("Failed to connect client ~!!\n"); } catch (System.Exception ex) { Console.WriteLine(ex.Message); }
참조 [4]
class CNetWorkManager : public CSingleton<CNetWorkMager> { public: void Start(); ... } int main() { ... CNetWorkManager::GetSharedPtr()->Start(); ... }
33.2English
Release version: 1.7
Build: 30692
Release type: master
Date of release: January 10, 2016 (Korean Time)
Revision
The issue of having a "Decryption Failed" error when a packet is sent to the server through ACR (connection maintenance) + RmiContext.SecureReliableSend from NetClient has been fixed.
The compile error experienced when using ProudNet in an MFC-based project has now been fixed.
The crash issue when calling NetClient.Connect and NetClient.FrameMove functions from the NetClient NDK library has now been fixed.
We fixed the repetitive crashing issue experienced when a NetClient/NetServer is launched/terminated repeatedly in a Linux environment.
The issue of having the P2P getting on the relay due to an RUDP Fail when the P2P is connected/disconnected repeatedly over a period of several minutes where the hole-punching is reused has been fixed.
The crash issue that accompanied the use of NetClient NetworkThreadModel = ThreadModel_SingleThreaded setting has now been fixed.
An exception is thrown from the inside when there is a problem while running the C++, C# NetClient.Connect function.
Hand the exception using a try~catch statement.
We made modifications so that, after calling NetClient.Connect again instead of calling NetClient.Disconnect after calling NetClient.Connect, now you will have an exception from within NetClient.Connect function.
When you call NetClient.Connect, explicitly call NetClient.Disconnect first, and then call NetClient.Connect.
An exception is thrown from the inside when there is a problem while running the C++, C# NetClient.Connect function. For this reason, handle the exception using a try~catch statement.
The interface of CSingleton class has now been modified.
The names of the API of the event registration functions for NetClientEvent and NetServerEvent in a lambda statement have been changed.
Added Features
C# NetServer.AllowEmptyP2PGroup API has been added.
A sample of Stored Procedure to access the data by tossing in the Parameter to the SimeAdoMySql sample has been added.
Improvement
The issue of having a "Decryption Failed" error when a packet is sent to the server through ACR (connection maintenance) + RmiContext.SecureReliableSend from NetClient has been fixed.
The compile error experienced when using ProudNet in an MFC-based project has now been fixed.
The crash issue when calling NetClient.Connect and NetClient.FrameMove functions from the NetClient NDK library has now been fixed.
We fixed the repetitive crashing issue experienced when a NetClient/NetServer is launched/terminated repeatedly in a Linux environment.
The issue of having the P2P getting on the relay due to an RUDP Fail when the P2P is connected/disconnected repeatedly over a period of several minutes where the hole-punching is reused has been fixed.
The crash issue that accompanied the use of NetClient NetworkThreadModel = ThreadModel_SingleThreaded setting has now been fixed.
An exception is thrown from the inside when there is a problem while running the C++, C# NetClient.Connect function.
Hand the exception using a try~catch statement.
We made modifications so that, after calling NetClient.Connect again instead of calling NetClient.Disconnect after calling NetClient.Connect, now you will have an exception from within NetClient.Connect function.
When you call NetClient.Connect, explicitly call NetClient.Disconnect first, and then call NetClient.Connect.
An exception is thrown from the inside when there is a problem while running the C++, C# NetClient.Connect function. For this reason, handle the exception using a try~catch statement.
The interface of CSingleton class has now been modified.
The names of the API of the event registration functions for NetClientEvent and NetServerEvent in a lambda statement have been changed.
Others
C# NetServer.AllowEmptyP2PGroup API has been added.
A sample of Stored Procedure to access the data by tossing in the Parameter to the SimeAdoMySql sample has been added.
Improvement
The performance of NetServer has been improved.
Deprecation
The NDK version r8b, supported by ProudNet, has been decommissioned.
The officially supported NKD versions are r9d and r10d.
The libProudNetClient-wchar.a library, which used the Unicode character sets that were used in the platforms other than Windows platforms, has been decommissioned.
Reference
Reference [1]
In case of using Unicode character sets (ProudNet uses multi-byte character sets),
the string conversion function provided by ProudNet should be used. (Check out Proud/include/PNString.h.)
// ex) wchar_t serverIp[] = L"127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = StringW2A(serverIp); // Use String Transforming function. param.m_serverPort = serverPort; }
Reference [2]
In case of not using Unicode character sets (ProudNet uses multi-byte character sets),
It is not necessary to use a separate string conversion function that uses the multi-byte character set.
// ex) char serverIp[] = "127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = serverIp; // Doesn't use String Transforming function. param.m_serverPort = serverPort; }
Reference [3]
// ex) Nettention.Proud.ErrorInfo errorInfo = new Nettention.Proud.ErrorInfo(); try { if (Client.Connect(cp, errorInfo) == false) Console.WriteLine("Failed to connect client ~!!\n"); } catch (System.Exception ex) { Console.WriteLine(ex.Message); }
Reference [4]
class CNetWorkManager : public CSingleton<CNetWorkMager> { public: void Start(); ... } int main() { ... CNetWorkManager::GetSharedPtr()->Start(); ... }
33.3日本語
リリース バージョン: 1.7
ビルド番号: 30692
リリース タイプ: master
リリース日付: 2016 年 01月 28日 (韓国時間基準)
修正
NetClientからACR(連結維持機能) + RmiContext.SecureReliableSendへサーバーにパケットを 伝送した時"Decryption Failed"が発生する問題が修正されました。
MFC基盤のプロジェクトでProudNetを使った時発生したコンパイル誤りが修正されました。
NetClient NDKライブラリーでNetClient.Connect、NetClient.FrameMove関数呼び出し時発生した Crash問題が修正されました。
Linux環境でNetClient/NetServerの実行/終了を繰り返した時発生したフリージング問題が修正されました。
ホールパンチングの再使用になるP2P結び/切りを何分の間繰り返す場合RUDP FailにP2Pがリレーされる問題が修正されました。
NetClient NetworkThreadModel = ThreadModel_SingleThreadedに設定後使用時発生したCrash 問題が修正されました。
C++、C# NetClient.Connect関数が遂行される間に問題が発生する場合、内部でExceptionをthrow します。
try~catch構文を使ってExceptionを処理しなければなりません。
NetClient.Connect呼び出した以後NetClient.Disconnect関数を呼び出さないで再びNetClient.Connect関数を呼び出す時NetClient.Connect関数内部でExceptionが発生するように修正されました。
NetClient.Connect関数を呼び出す時NetClient.Disconnect関数を明示的に呼び出しNetClient.Connect 関数を呼び出さなければなりません。
C++、C# NetClient.Connect関数が遂行される間に問題が発生する場合、内部でExceptionをthrowするからtry~catch構文を使ってExceptionを処理しなければなりません。
CSingletonクラスのインターフェースが変更されました。
ラムダ式 NetClientEvent、NetServerEventイベント登録関数のAPI名前が変更されました。
追加
C#
NetServer.AllowEmptyP2PGroup
APIが追加されました。SimeAdoMySqlのサンプルにParameterを渡してデータを照会するStored Procedureの例題が 追加されました。
改善
NetClientからACR(連結維持機能) + RmiContext.SecureReliableSendへサーバーにパケットを 伝送した時"Decryption Failed"が発生する問題が修正されました。
MFC基盤のプロジェクトでProudNetを使った時発生したコンパイル誤りが修正されました。
NetClient NDKライブラリーでNetClient.Connect、NetClient.FrameMove関数呼び出しの時発生したCrash問題が修正されました。
Linux環境でNetClient/NetServerを実行/終了を繰り返した場合、発生したフリージング問題が修正されました。
ホールパンチングの再使用になるP2P結び/切りを何分の間繰り返す場合RUDP FailにP2Pがリレーされる問題が修正されました。
NetClient NetworkThreadModel = ThreadModel_SingleThreadedに 設定後使用時発生した Crash 問題が修正されました。
C++、C# NetClient.Connect関数が遂行される間に問題が発生する場合、内部でExceptionを throwします。
try~catch構文を使ってExceptionを処理しなければなりません。
NetClient.Connect呼び出した以後にNetClient.Disconnect関数を呼び出さないで再びNetClient.Connect 関数を呼び出す場合NetClient.Connect関数内部でExceptionが発生するように修正されました。
NetClient.Connect関数を呼び出す場合NetClient.Disconnect関数を明示的に呼び出し NetClient.Connect 関数を呼び出さなければなりません。
C++、C# NetClient.Connect関数が遂行される間に問題が発生する場合、内部でExceptionをthrowするからtry~catch構文を使ってExceptionを処理しなければなりません。
CSingletonクラスのインターフェースが変更されました。
ラムダ式NetClientEvent、NetServerEventイベント登録関数のAPI名前が変更されました。
追加
C#
NetServer.AllowEmptyP2PGroup
APIが追加されました。SimeAdoMySqlのサンプルにParameterを渡してデータを照会するStored Procedureの例題が追加されました。
改善
NetServerの性能が改善されました。
退役
ProudNetで支援するNDKバージョンr8bが退役されました。
公式支援NDKバージョンはr9d、r10dバージョンです。
ウィンドウズ プラットホームを除いたプラットホームで使われたユニコード文字セットを使うlibProudNetClient-wchar.aライブラリーが退役されました。
退役
ProudNetで支援するNDKバージョンr8bが退役されました。
公式支援NDKバージョンはr9d、r10dバージョンです。
ウィンドウズ プラットホームを除いたプラットホームで使われたユニコード文字セットを使うlibProudNetClient-wchar.aライブラリーが退役されました。
参照 [1]
ユニコード文字セットを使う場合(ProudNetはマルチバイト文字セット)
ProudNetで提供する文字列変換関数を使用します。(Proud/include/PNString.hで確認可能)
// ex) wchar_t serverIp[] = L"127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = StringW2A(serverIp); // ストリングを変換させる関数を使います param.m_serverPort = serverPort; }
参照 [2]
// ex) char serverIp[] = "127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = serverIp; // ストリングを変換させる関数を使いません param.m_serverPort = serverPort; }
逆にマルチバイト文字セットを使う場合(ProudNetはマルチバイト文字セット)
マルチバイト文字セットを使う場合、別途の文字列変換関数を使用しなくても良いです。
参照 [3]
// ex) Nettention.Proud.ErrorInfo errorInfo = new Nettention.Proud.ErrorInfo(); try { if (Client.Connect(cp, errorInfo) == false) Console.WriteLine("Failed to connect client ~!!\n"); } catch (System.Exception ex) { Console.WriteLine(ex.Message); }
参照 [4]
class CNetWorkManager : public CSingleton<CNetWorkMager> { public: void Start(); ... } int main() { ... CNetWorkManager::GetSharedPtr()->Start(); ... }
33.4中國語
发行版本:1.7
版本号:30692
发行类型:master
发行日期:2016年01月28日(以韩国时间为准)
修改
从NetClient到ACR(连接维持功能)+RmiContext.SecureReliableSend,向服务器发送数据包时出现“Decryption Failed”的问题得到修改。
在MFC作为基础的项目上使用ProudNet时发生的编译出错问题得到修改。
在NetClient NDK数据库上呼叫NetClient.Connect, NetClient.FrameMove函数时发生的Crash问题得到修改。
Linux操作系统上重复NetClient/NetServer执行/结束操作时发生的假死机问题得到修改。
几分钟内重复可重复使用Holepunching的P2P连接/断开操作时,通过RUDP Fail,P2P出现Relay的问题得到修改。
设置为NetClient NetworkThreadModel = ThreadModel_SingleThreaded之后使用时发生的Crash问题得到修改。
执行C++,C# NetClient.Connect函数期间发生问题时,在内部将Exception进行throw。
应使用try~catch语法处理Exception。
呼叫NetClient.Connect,然后不呼叫NetClient.Disconnect函数,再次呼叫NetClient.Connect函数时,修改之后在NetClient.Connect函数内部发生Exception。
呼叫NetClient.Connect函数时,应明确呼叫NetClient.Disconnect函数,然后呼叫NetClient.Connect函数。
执行C++,C# NetClient.Connect函数期间发生问题时,在内部将Exception进行throw,所以应使用try~catch语法处理Exception。
已变更CSingleton类的界面。
已变更Lambda表达式NetClientEvent,NetServerEvent活动注册函数API名称。
添加
已添加C#
NetServer.AllowEmptyP2PGroup
API。已添加向SimeAdoMySql样品发送参数查询数据的Stored Procedure例子。
改善
从NetClient到ACR(连接维持功能)+RmiContext.SecureReliableSend,向服务器发送数据包时发生“Decryption Failed”的问题得到修改。
在MFC作为基础的项目上使用ProudNet时发生的编译出错问题得到修改。
在NetClient NDK数据库上呼叫NetClient.Connect, NetClient.FrameMove函数时发生的Crash问题得到修改。
Linux操作系统上重复NetClient/NetServer执行/结束操作时发生的假死机问题得到修改。
几分钟内重复可重复使用Holepunching的P2P连接/断开操作时,通过RUDP Fail,P2P出现Relay的问题得到修改。
设置为NetClient NetworkThreadModel = ThreadModel_SingleThreaded之后使用时发生的Crash问题得到修改。
执行C++,C# NetClient.Connect函数期间发生问题时,在内部将Exception进行throw。
应使用try~catch语法处理Exception。
呼叫NetClient.Connect,然后不呼叫NetClient.Disconnect函数,再次呼叫NetClient.Connect函数时,修改之后在NetClient.Connect函数内部发生Exception。
呼叫NetClient.Connect函数时,应明确呼叫NetClient.Disconnect函数,然后呼叫NetClient.Connect函数。
执行C++,C# NetClient.Connect函数期间发生问题时,在内部将Exception进行throw,所以应使用try~catch语法处理Exception。
已变更CSingleton类的界面。
已变更Lambda表达式NetClientEvent,NetServerEvent活动注册函数API名称。
添加
已添加C#
NetServer.AllowEmptyP2PGroup
API。已添加向SimeAdoMySql样品发送参数查询数据的Stored Procedure例子。
改善
NetServer性能得到改善。
退役
在ProudNet上支持的NDK版本r8b已被退役。
正式支持的NDK版本是r9d,r10d版本。
使用Windows平台除外的其他平台上使用的统一码字符集的libProudNetClient-wchar.a数据库已被退役。
参照
参照 [1]
使用统一码字符集时(ProudNet是多字节字符集)
使用ProudNet上提供的字符串变换函数。(Proud/include/PNString.h上可确认)
// ex) wchar_t serverIp[] = L"127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = StringW2A(serverIp); // 使用字符串转换函数 param.m_serverPort = serverPort; }
参照 [2]
相反使用多字节字符集时(ProudNet是多字节字符集)
使用多字节字符集时,无需另使用字符串变换函数。
// ex) char serverIp[] = "127.0.0.1"; uint16_t serverPort = 33334; if ( client ) { client->SetEventSink( &eventSink ); PNGUID guid = { 0x3ae33249, 0xecc6, 0x4980, { 0xbc, 0x5d, 0x7b, 0xa, 0x99, 0x9c, 0x7, 0x39 } }; param.m_protocolVersion = guid; param.m_serverIP = serverIp; // 不使用字符串转换函数 param.m_serverPort = serverPort; }
参照 [3]
// ex) Nettention.Proud.ErrorInfo errorInfo = new Nettention.Proud.ErrorInfo(); try { if (Client.Connect(cp, errorInfo) == false) Console.WriteLine("Failed to connect client ~!!\n"); } catch (System.Exception ex) { Console.WriteLine(ex.Message); }
参照 [4]
class CNetWorkManager : public CSingleton<CNetWorkMager> { public: void Start(); ... } int main() { ... CNetWorkManager::GetSharedPtr()->Start(); ... }