实时C#websockets客户端与Unity3D一起使用?

dan*_*ski 6 c# unity-game-engine websocket websocket-sharp unity5

我正在用C#构建一个Unity3D客户端,用于我制作的多人游戏.服务器是用Node.js编写的,我用Javascript编写了一个运行良好的Web客户端.但是我的Unity3D客户端实现遇到了滞后问题.我正在使用websocket-sharp库,但是无法像我在带有HTML5 Websocket类的Javascript客户端上那样使用它.我相信问题在于websocket-sharp库的制作方式,目前每个Send()都会导致锁定_forSend,因此数据将像这样传输:

data1:frg1

data1:frg2

data2:frg1

data2:frg2

...
Run Code Online (Sandbox Code Playgroud)

但是在我的工作javascript实现上,它看起来像这样,因为它是真正的多线程:

data1:frg1

data2:frg1

data2:frg2

data1:frg2
Run Code Online (Sandbox Code Playgroud)

因此,我认为这是我的C#Unity实现滞后的原因,因为websockets-sharp库的行为就像这样.任何人都可以确认这是websockets-sharp库的问题或建议一个可以工作的库吗?

小智 -3

我在我的项目中使用了 Socket.IO for Unity 并且它可以工作。当有人意识到 gilf 时,我实现为我的游戏示例创建通知......

https://www.assetstore.unity3d.com/en/#!/content/21721

  • Socket.IO 和 websocket 不是同一件事。人们选择其中之一是有原因的。Socket.IO 的膨胀有时是有用的,有时是有害的。 (3认同)