导航:首页 > IDC知识 > unity服务器network

unity服务器network

发布时间:2020-11-02 19:17:31

1、unity3d 网游服务器端如何选择

如果对楼主有帮助,给个采纳好不,谢谢啦

Photon和KBEngineunity3d是最适用Unity3d游戏开发的两个服务器引擎,但它们还是有区别的,只有清楚地了解区别在哪才能正确使用,下面简单描述下两者的共同点和不同点。

语言

对于大部分的程序员语言简直就是宗教信仰。

Photon使用C#开发,当然使用者也是用C#进行各类游戏功能开发。前后端同种语言,这对使用Unity3d游戏开发也有很大的好处。

KBEngine使用C++开发,逻辑开发是用python,也是很不错很快速的。

开源与收费情况

Photon是Exit Games公司的产品,不开源,有好多种收费模式,官网上可以看到。开发阶段可以用免费的license,后期可以看流量用户活跃度来选择付费模式。后续的支持,似乎是免费的,你可以选择邮件或是到论坛发帖求助,当然是E文。

KBEngine是国人开发,开源免费,但从官网上并没有看到商业使用的案例。有中文论坛,你可以在论坛上向开发者求助。

虽然两者的模式不同,但作为一个Unity3d游戏开发者,我们最希望的其实是把游戏引擎当作一个安全稳定的黑箱。

操作系统

之前说了Photon使用C#开发很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以开发环境和生产环境最好都是windows。

虽然在跨平台上有mono,在服务器代码部分是系统无关的,但是不管你信不信,我是不信它的一套窗体工具也能运行在Linux下。反正,官网说法是,开发和生产环境都是用windows。

KBEngine建议开发环境选择Windows,生产环境选择linux。毕竟你总不希望开一组服务器打开9个Console窗体,一不小心把哪个点X了吧~

协议

Photon有自己的序列化反序列化方式,你也可以使用protobuf这类的来做应用层传输协议。

KBEngine在这方面表示不支持自定义协议,它帮你选择了有效的方法来处理,如果你习惯了他规定的方式,会喜欢上的。

看法

在功能上,我毫无疑问地更喜欢KBEngine,脚本化和自动持久化是极富魅力的功能。而Photon几乎没做这方面的功能,可能和老外的观念有关系。就目前我对两者功能的理解看来,Photon其实是个和SuperSocket差不多的东西,而SS是作为轻量级服务器框架存在的,Photon却是说自己是Unity3d游戏引擎,除去提供的MMO示例代码(未解读),没看到什么游戏引擎的魅力。

2、unity3d服务器怎么给客户端发数据

说的是什么情况下的吖?如果是Linux C语言编程的话,可以用read,fread,recv,recvfrom等等函数来读取服务器发送的数据吖。

3、unity3d服务器怎么给客户端发数据

u3d自带的network组件局限性还是太大了...用socket就可以了吧,再简单一点用tcpclient/tcplistener,数据发送的包使用序列化方式

4、unity游戏开发中资源上传的服务器是怎么创建的

只是负责验证用户名和密码,验证之后返回token,token是有有效时间的,在有效时间内,并没有保持连接的必要,所以,这里的RequestResponse可以做成短连接(http请求响应模式),提升并发。
如果超过了有效时间还没有进入游戏,令牌失效,在登录验证时将被踢回重新获取令牌。
登录服务器和网关之间需要有一个固定的连接传递新生成的令牌。

5、unity实际项目中有用自带network做服务器的吗?

u3d自带的network组件局限性还是太大了用socket就可以了吧,再简单一点用tcpclient/tcplistener,数据发送的包使用序列化方式

6、unity3D 手机和pc通过wifi连接做局域网,手机连接不上ps的服务器

先说明服务器是什么,如果是WEB服务器或是FTP服务器的,只需在内网上拉一根网线接入无线路由器,手机通过WIFI访问内网服务器。
如果是手机通过外网访问内网的服务器的话,则要有固定IP,通过固定IP所设置比如交换机NAT映射到内网服务器的内网IP。手机只需在浏览器上输入你的外网固定Ip就可以访问内网服务器了
希望采纳!

7、阿里云服务器怎么部署unity

unity有自己的Networking。具体可以查看官方API(英语不好不用担心,直接试)
或者直接用C#写个服务器,网上关于socket通讯的一坨坨的,慢慢看,一点点试

8、我用Unity自己的Network类写了一个服务器,想用公网连接

这个可以考虑socket编程

9、在unity3d中服务器确定唯一一个客户端?

你的理解是对的,一个ip只能一个player,而networkview你加了几个就是几个

10、怎样用unity unet做服务器

Networking是一种软件研发在跨平台路上更近一步的体现,真正做到了:anytime,anywhere,one code for all platform!
Networking出现之前,Unity仍然是一个客户端游戏开发引擎。Networking出现之后,Unity甚至成为了跨客户端服务端的游戏开发引擎。
同样的组件在Unreal中早有产生,但追溯到最早的话,那可能就是国外各大游戏公司的私有引擎了。但Unity的威力在于其广泛的普及程度,所以它是首次将该组件推广至光罗大众的商业引擎。
Networking本质上是对传统C-S架构软件下的网络层的高度抽象。
服务器逻辑和客户端逻辑在一个类里面编写(这里会带来一些代码整洁度上的麻烦~~)
服务器和客户端要做数据同步,不用发包了,在属性前面加上[SyncVar]标签就自动同步了。
客户端调用服务器,不用发包了,函数调用即可。
服务器调用客户端,不用发包了,函数调用即可。
带来的好处太多都不用说了。
带来的坏处,安全性上堪忧,设想一下,如果客户端和服务器逻辑都在一起,一旦客户端被反编译了,那么是不是服务器逻辑都泄漏了。
带来的坏处2,服务器程序员可能不需要写游戏逻辑了。。

与unity服务器network相关的知识