我在C#中为我制作的多人游戏构建Unity3D客户端。服务器是用Node.js编写的,我用Javascript编写了一个运行良好的Web客户端。但是我的Unity3D客户端实现遇到了滞后问题。我正在使用websocket-sharp库,但是无法像我在带有HTML5 Websocket类的Javascript客户端上那样使用它。我认为问题在于websocket-sharp库的制作方式,目前每个Send()都会导致_forSend锁定,因此数据会像这样传输:
data1:frg1
data1:frg2
data2:frg1
data2:frg2
...
但是在我工作的javascript实现中,它看起来像是真正的多线程:
data1:frg1
data2:frg1
data2:frg2
data1:frg2
因此我相信这是我的C#Unity实现滞后的原因,因为websockets-sharp库的行为就像这样。任何人都可以确认这是websockets-sharp库的一个问题,还是建议一个可以工作的库?
答案 0 :(得分:-1)
我在项目中使用了Socket.IO for Unity并且它可以工作。当有人意识到gilf时,我实现为我的游戏示例创建通知....