26.1한국어
릴리즈 버전: 1.7
빌드 번호: 36365
릴리즈 타입: master
릴리즈 날짜: 2017년 01월 04일 (한국시간기준)
Unity Android Il2CPP 빌드 지원이 추가되었습니다.
Unity 5.x 버전에서만 지원이 됩니다.
개발시 진행한 유니티 버전은 5.4.1p4 입니다.
유니티용 안드로이드 플러그인으로 stripped library가 추가되었습니다.
strip된 라이브러리는 디버그 심볼이 제외된 라이브러리 입니다.
이것을 사용하는 경우 에러 발생 시 문제점을 파악하는데 어려움이 있을 수 있습니다.
사용하시는 부분에 있어서 고려 부탁드립니다
수정
Proud.CSingleton이 VS2015 혹은 이후의 컴파일러에서 발생할 수 있는 잠재적 문제 수정
NetClient.Disconnect를 RMI나 이벤트 콜백 안에서 호출해도 throw 발생 안하도록 수정
세마포어 Open 에러 발생 할 때, 더 자세한 이유 출력 하도록 수정
복호화 실패시 OnWarning에서 나오는 에러의 상세 구체화 수정
네트워크 상황이 좋지 않을 때, hostname lookup이 실패할 경우, iOS에서 발생하던 크래시 수정
해커가 변조한 패킷을 보낼 때, 매우 낮은 확률로 서버 크래쉬 수정
C# ErrorInfo.TypeToString 호출 시, 크래쉬 수정
C# Disconnect 할 때, Exception 전파 시, 크래쉬 수정
CPP에서 전파된 Exception이 C#으로 넘어갈 때, 크래쉬 수정
매우 낮은 확률로 서버에서 크래쉬 발생 문제 수정
std.string or wstring을 Linux에서 RMI 파라메터로 쓸 때 link error 수정
Linux에서 NetServer.EnableLog에서 작동 불가 버그 수정
Linux 서버에서 잘못된 config의 라이브러리를 가져다 쓸 때, 런타임 에러를 빌드 에러로 수정
많은 수의 NetClient를 한 프로세스에서 띄울 때 CPU 사용량을 개선
Guid.From(string)에서 빈칸 있는 문자열을 입력받을 때 정상 처리되도록 수정
클라이언트가 서버에 연결 되자마자 GetServerTimeMs를 호출할 때 정확하지 않은 값이 나오는 문제 수정
NetServer, DBCacheServer2의 Start 함수의 파라메터의 allowOnExceptionCallback 변수가 allowExceptionEvent으로 개명됐습니다.
NetClient.SetDefaultTimeoutTimeMs 함수 제거 하였습니다. 대신 NetServer의 같은 이름의 함수를 사용하십시오.
이유는, 해킹된 클라이언트가 임의로 SetDefaultTimeoutTimeMs가 조작되는 문제를 막기 위해서입니다.
연결 유지 기능의 API가 변경 되었습니다. API 이름이 변경 되었습니다. 마이그레이션 시 주의해 주십시오.
전 : NetServer::SetAutoConnectionRecoveryGiveUpWaitTimeMs
후 : NetServer::SetDefaultAutoConnectionRecoveryTimeoutTimeMs
RMI proxy나 stub의 hook 계열 함수에서 RMI 함수 이름을 감추는 방법이 달라졌습니다.
전 : 이들 이름이 안 감추어졌습니다. 그리고 define HIDE_RMI_NAME_STRING를 해주어야만 감추어졌습니다.
후 : 이들 이름이 감추어집니다. 그리고 define USE_RMI_NAME_STRING을 해주어야만 등장합니다.
Level 4 Warning에서 경고 해결
Simple sample의 x64 빌드 실패 해결
일부 환경에서 userWorkerThreadModel 이 Single 일 때, CNetClient.Disconnect 호출 하면, OnLeaveServer 이벤트 발생 되는 버그 수정
<주의!> 본 업데이트 적용 후에는, userWorkerThreadModel 이 Single 일 때, CNetClient.Disconnect 호출 하면, OnLeaveServer 이벤트가 더 이상 발생하지 않습니다. 여러분의 코드가 이 점과 관련될 경우, 필요한 수정을 하시기 바랍니다. 가령, CNetClient.Disconnect 호출 후에는 OnLeaveServer가 이미 호출되었다는 가정하의 추가적 처리를 하셔야 할 것입니다.
추가
C# Proud.Vector3 의 생성자 추가
C# ErrorInfo.ToString 지원 추가
CThreadPoolEventFunctional을 NetClient 에도 추가
socket reuse address를 설정할 수 있도록 설정 변수가 추가
자세한 것은 CNetConfig.EnableSocketReuseAddress에 있습니다.
연결 유지 기능의 API가 추가 되었습니다. 앞으로는 개별 클라이언트 대상으로도 연결 유지 기능의 타임아웃 시간 조절 추가
(NetServer::SetAutoConnectionRecoveryTimeoutTimeMs)
참조
참조 [1]
<>
26.2English
Release version: 1.7
Build: 36365
Release type: master
Date of release: January 04, 2017 (Korean Time)
Unity Android Il2CPP Build Support has been added
Only supportable on the Unity 5.x Version.
The Unity version proceeded for the development was 5.4.1p4.
Stripped library has been added as android plugin for Unity.
Debug symbol is excepted in stripped library.
Please note that in case of using this, it might be hard to find the problem when error occurs.
Revision
Potential problems of Proud.CSinglton occurring at VS2015 or any latter compilers have been modified
No throws occur after calling NetClient.Disconnect within event callback or RMI
Detailed description of Semaphore Open error will be printed out
Detailed description of Decoding Fail error on OnWarning will be printed out
A crash occurring when hostname lookup fails due to a bad network condition has been modified
A server crash will be modified with low probabilities when a hacker sends a false packet
A crash occurring when calling C# ErrorInfo.TypeToString has been modified
A crash occurring when spreading exception during #C# Disconnect has been modified
A crash occurring when the Exception spread from CPP goes over to C# has been modified
With very low probabilities, crash occurring at servers has been modified
The link error that appears when using std.string or wstring as RMI parameters on Linux has been odified
The operation error bug at NetServer.EnableLog on Linux has been modified
The runtime error that appears when using a false config library on Linux server has been changed to the build error
The CPU usage when floating many of NetClient on one process has been improved
Inputting a string that includes blank spots will be successfully processed
The problem of showing wrong value when calling GetServerTimeMs right after a client gets connected to a server has been modified
The allowOnExceptionCallback variable of a parameter of the Start function of a NetServer, DbCasheServer2 has been renamed to allowExceptionEvent
The NetClient.SetDefaultTimeoutTimeMs function has been removed. Please use such functions like NetServer instead.
Purpose: is to prevent a client that has been hacked from operating SetDefaultTimeoutTimeMs randomly.
The API for connection maintenance function has been renamed. Please be aware when attempting migration
Before Renamed: NetServer::SetAutoConnectionRecoveryGiveUpWaitTimeMs
After Renamed: NetServer::SetDefaultAutoConnectionRecoveryTimeoutTimeMs
The way hiding the names of RMI function of hook series functions of stub or RMI proxy has been changed
Before : The names were not able to be hidden . Only worked after defining Hide_RMI_NAME_STRING.
Now: The names can be hidden. They appear only when you complete defining USE_RMI_NAME_STRING.
The warning has been solved at Level 4 Warning.
The x64 build failure of Simple sample has been solved
The bug that brings the OnLeaveServer event when calling CNetClient.Disconnect when the userWorkerThreadModel is Single at certain conditions has been modified
<Caution!>: After this update, the OnLeaveServer event will not occur any more after calling CNetClinet.Cisconnect when the userWorkerThreadModel is Single. If your codes are related to this, you have to try modification. For example, you got to do additional handling assuming the OnLeaveServer has been called after calling CNetClient.Disconnect.
Added Features
C# Proud.Vector3 producer has been added
C# ErrorInfo.ToString support has been added
CThreadPoolEventFunctional has been added to NetClient
Setting variables have been added so the socket reuse address can be set up
For more information, please refer to CNetConfig.EnableSocketReuseAddress
API for connection maintenance function has been added. The time out period for connection maintenance function can be set for individual client also
(NetServer::SetAutoConnectionRecoveryTimeoutTimeMs)
Reference
Reference [1]
<>
26.3日本語
リーリスバージョン : 1.7
ビルド番号 : 36365
リリース タイプ : master
リリース日付 : 2017 年 01月 04日 (韓国時間基準)
Unity Android Il2CPPビルドが追加されました。
Unity 5.xバージョンのみ使えます。
開発時使用したUnityバージョンは5.4.1p4です。
Unity用 android pluginでstripped libraryが追加されました。
stripされたライブラリはデバッグシンボルが抜けたライブラリです。
これを使用する場合、エラーが発生したときに問題点を把握するのに困難があります。
使用することにおいて慎重なお考えお願いいたします。
修正
Proud.CSingletonが VS2015あるいはその次のコンパイラーで発生できるかもしれない問題修正
NetClient.DisconnectをRMIなイベントコールバックの中で呼んでもthrow発生しないように修正
セマフォOpenエラー発生時、もっと詳しい理由を出すように修正
デコーディング失敗時、OnWarningからでるエラーの詳細修正
ネットワークの状況が良くない時、hostname lookupが失敗したらiOSのクラッシュ修正
ハッカーが変調したパケットを折るくとき、 ごく低い確率でサーバーでクラッシュ修正
C# ErrorInfo.TypeToStringを呼ぶとき、クラッシュ修正
C# Disconnect する時、 Exception伝播のクラッシュ修正
C++で伝播されたExceptionがC#に渡る時、クラッシュ修正
ごく低い確率でサーバーでクラッシュ発生問題修正
std.string or wstringを Linuxで RMI パラメーターで使う時link error修正
LinuxでNetServer.EnableLogの作動不良バグ修正
Linuxさーばーで間違ったconfigのライブラリーを使う時、RuntimeエラーをBuildエラーに修正
多い수のNetClientを一つのプロセスで浮かぶ時CPU使用量を改善
Guid.From(string)で空白文字を入れても正常処理するように修正
クライアントがサーバーに繋がってすぐGetServerTimeMsを呼んだら正確ではない結果がでる問題修正
NetServer, DBCacheServer2のStartのパラメーターallowOnExceptionCallbackの名前変更
前 : allowOnExceptionCallback
後 : allowExceptionEvent
NetClient.SetDefaultTimeoutTimeMsの削除
ハッキングされたクライアントが任意でSetDefaultTimeoutTimeMsを操作する問題を防ぐためです。
連結維持機能の API名前変更.
前 : NetServer::SetAutoConnectionRecoveryGiveUpWaitTimeMs
後 : NetServer::SetDefaultAutoConnectionRecoveryTimeoutTimeMs
RMI proxyやstubのhook系functionでRMI名前を隠す方法が変更
前 : 名前が隠されませんでした。define HIDE_RMI_NAME_STRINGをしたら隠されました。
後 : 名前が隠されます。define USE_RMI_NAME_STRINGをしたら現れます。
Visual studioのLevel 4 Warning解決
Simple/sampleのx64ビルド失敗解決
一部の環境でuserWorkerThreadModelがSingleの時、CNetClient.Disconnect呼ぶと OnLeaveServer イベント発生する問題修正
<caution!> このアップデートの後、userWorkerThreadModel が Singleの時、 CNetClient.Disconnectを呼ぶとOnLeaveServerイベントがもう発生しません。皆さんのコードに使われてるのなら必要な修正をしてください。例えば、CNetClient.Disconnectの呼び後にはOnLeaveServerがすでに呼ばれたと思っての追加作業が必要です。
追加
C# Proud.Vector3のConstructor追加
C# ErrorInfo.ToString追加
CThreadPoolEventFunctionalをNetClientに追加
socket reuse addressを設定できるように設定variable追加
詳しいのはCNetConfig.EnableSocketReuseAddressにあります。
(NetServer::SetAutoConnectionRecoveryTimeoutTimeMs)
參照
參照 [1]
<>
26.4中國語
发行版本: 1.7
版本号: 36365
发行类型:master
发行日期: 2017年01月04日 (以韩国时间为准)
添加了支援Unity Android Il2CPP Build .
仅支持Unity 5.x版本.
开发进行的Unity 版本是5.4.1p4.
Unity用 andriod 插件添加了stripped library.
strip类是 调试符号除外的类
使用这个的情况下发生错误时解决问题会很棘手。
在使用过程中请做仔细参考。
修复
Proud.CSingleton在VS2015或者以上版本发生潜在问题的修复
NetClient.Disconnect在RMI回调事件中调用也不会发生throw的修复
发生信号灯Open报错时,输出更详细理由的修复
解码失败时OnWarning中出现的错误详细具体化修复
当网络条件差时, hostname lookup失败的情况, iOS中发生的崩溃修复
当黑客调制发送数据包时,修复了服务器概率低的问题
C# ErrorInfo.TypeToString 调用时,修复了崩溃现象
C# 中传播的Exception在移动到C#时,修复了崩溃现象
C# Disconnect时,Exception传播时, 修复了崩溃现象
修复了非常低概率服务器崩溃的bug
std.string or wstring在Linux中使用RMI参数时链接错误的修复
Linux系统NetServer.EnableLog中无法运作问题的修复
Linux 服务器中使用错误config的类时, Runtime错误改成Build错误
多个NetClient在一个进程中运行时对CPU使用量的改善
Guid.From(string)中对输入有空间的字符串时可进行正常处理做了修复
客户端连接到服务器的同时调用GetServerTimeMsshi时输出不准确做了修复.
NetServer, DBCacheServer2的 Start函数的参数中allowOnExceptionCallback变数改名为 allowExceptionEvent.
删除了NetClient.SetDefaultTimeoutTimeMs函数. 相反使用与NetServer同名的函数.
原因是, 被黑客攻击的客户端随意更改对象SetDefaultTimeoutTimeMs的原因.
维持连接功能的API变更. API名进行了修改. 在迁移时需注意.
前 : NetServer::SetAutoConnectionRecoveryGiveUpWaitTimeMs
后 : NetServer::SetDefaultAutoConnectionRecoveryTimeoutTimeMs
RMI proxy或者stub的hook系列函数中RMI函数隐藏的方法进行改变.
前 :这些名字没被隐藏. 需要定义HIDE_RMI_NAME_STRING才可被隐藏.
后 :这些名字没被隐藏. 需要定义USE_RMI_NAME_STRING才可被使用.
Level 4 Warning解决警告问题
Simple sample的x64 Build 失败问题得到
在部分环境下userWorkerThreadModel是Single时, 调用CNetClient.Disconnect, 发生OnLeaveServer 事件的bug 修复
<注意!> 次升级适用后, userWorkerThreadModel是Single时, 调用CNetClient.Disconnect , OnLeaveServer 事件不会再发生.与此相关的代码请进行针对性的修改. 假如,调用 CNetClient.Disconnect 函数之后OnLeaveServer已经被调用的情况下,需要进行附加处理.
添加
C# Proud.Vector3 添加了构造函数
C# ErrorInfo.ToString 添加支援
CThreadPoolEventFunctional添加至NetClient
socket reuse address添加了可进行修正的变数
详细请参考CNetConfig.EnableSocketReuseAddress.
添加了维持连接功能的API. 此后添加对个别客户端维持连接超时的时间调整
(NetServer::SetAutoConnectionRecoveryTimeoutTimeMs)
参照
参照[1]
<>