首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity3D网络ReadMessage

Unity3D网络ReadMessage
EN

Stack Overflow用户
提问于 2017-03-28 21:51:47
回答 1查看 361关注 0票数 0

如果客户端尝试连接到不存在的服务器,如何检查错误?

我的代码!

代码语言:javascript
复制
//Server 
void Start () { 
NetworkServer.Listen(13044);
}

//Client
NetworkClient thisclient = new NetworkClient ();
thisclient.Connect ("127.0.0.1", 13044);  
thisclient.RegisterHandler(MsgType.Error, errortest);
thisclient.RegisterHandler (MsgType.Disconnect, dctest);  

void errortest(NetworkMessage netMsg){
var errorMsg = netMsg.ReadMessage<ErrorMessage>();  
Debug.Log("Error:" + errorMsg.errorCode);}  

void dctest(NetworkMessage netMsg){  
//if I run the client while the server is not present, its goes here instead of errortest 
}
EN

回答 1

Stack Overflow用户

发布于 2017-03-28 22:13:44

您正在将ReadMessage与ErrorMessage一起使用,但ErrorMessage仅在错误消息(OnError)中有效。

您的dctest函数在断开连接时触发,而不是在错误时触发。

Disconnect是一个特殊的MsgType (请参阅https://docs.unity3d.com/ScriptReference/Networking.MsgType.html),它(如果我没记错的话)不包含任何数据。

所以回答你的问题:你已经有了结果。所有内容都在netMsg中。

https://docs.unity3d.com/Manual/UNetMessages.html

当您想要发送/读取自定义数据时,ReadMessage函数通常与您自己的NetworkMessages一起使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43071457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档