Unity c# 用Socket如何实现 一个客户端登陆的时候 其他客户端也实例化这个玩家的人物 ?

知道Socket如何传输 但不知道如何将人物变成流传输给其他客户端
2025-04-27 07:41:33
推荐回答(4个)
回答1:

这应该属于协议设计的问题 而不是技术问题。。

简单说就是人物登录时给所有相关的客户端(如地图周边玩家 好友等)发送广播信息
信息内容包括所有构建角色需要的资料 (角色数据信息 模型资料路径神马神马的...) 打包发送 然后在其他客户端还原即可...

在后续还要进行一些数据同步的广播 比如角色移动 角色喊话 技能释放 更换模型什么的...

其实这一点很好想啊
我觉得更难的是如何“发现”周围的角色 即如何判断两个角色互相在对方附近 这才需要一个高效的算法

回答2:

服务器上建一个哈希表,将用户信息保存到哈希表中,然后登陆后向哈希表中的所有用户推送新用户登陆信息!并将新用户信息添加到哈希表中!

回答3:

把这个人物角色的实例化对象序列化后,传输给其他的在线客户端,客户端反序列化收到数据,并实例化。

关键字:序列化与反序列化。

回答4:

服务器转发,我也在研究。