我需要使用UDP和TCP连接将Unity3D客户端连接到Photon。有可能吗?我在哪里能读到它?我想用TCP发送大量的数据。
发布于 2015-01-13 11:52:33
光子服务器同时支持多种协议。如果下载了服务器sdk,请查找PhotonServer.config:
它包含这样的条目
<UDPListeners>
<UDPListener
IPAddress="0.0.0.0"
Port="5055">
</UDPListener>
</UDPListeners>和
<TCPListeners>
<TCPListener
IPAddress="0.0.0.0"
Port="4530"
PolicyFile="Policy\assets\socket-policy.xml"
InactivityTimeout="10000"
>
</TCPListener>
</TCPListeners>您的客户端可以连接到每个udp或tcp,并相互交互,不管您选择了什么协议。
对于完整的配置选项,您可以在这里查看:http://doc.exitgames.com/en/onpremise/current/reference/server-config-settings
当客户端连接时,您可以在服务器端应用程序中查询客户端是如何连接的:
public class YourApplication : ApplicationBase
{
if (initRequest.LocalPort == 5055)
{
//
}
if (initRequest.PhotonPeer.GetListenerType() == ListenerType.TCPListener)
{
//
}注意:配置中的UDPListener在代码中表示为ListenerType.ENetListener。
您可以在下载的{ sdk }\doc\Photon.SocketServer.chm或在线的http://doc-api.exitgames.com/en/onpremise/current/server/doc/annotated.html中找到服务器sdk文档。
发布于 2014-11-25 18:07:53
简单的回答是:不。光子服务器不能有超过一种类型的连接。但是,根据您对“服务器”的定义,有一种方法可以做到这一点。在此解释的基础上,让我们将运行在机器上的对象实例称为服务器。服务器正在运行的机器,我们会打电话给机器。您可以在一台机器上运行多个服务器,在其中它们可以有不同类型的连接。例如,您可以让统一客户端使用UDP连接连接到物理服务器,并使用TCP连接将客户机连接到所需的其他任何东西。
发布于 2015-01-18 19:10:13
光子服务器处理连接对象称为Peerbase。每个对等点都是每个客户端连接。在客户端对等连接中,您只选择UDP或TCP协议。解决方案是创建两个对等点,一个是UDP,另一个是TCP,但在一个客户端很难处理UDP和TCP对等点在一个客户端中查找播放器信息和发送数据的问题。
https://stackoverflow.com/questions/27131898
复制相似问题