• Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)


    这里是全部Unity3d在网络中能用到相关的类及方法。纵观參数功能,

    Unity3d来写一个手游是不二的选择:





    RPC 能够传递的參数
    int
    float
    string
    NetworkPlayer
    NetworkViewID
    Vector3
    Quaternion

    BitStream能够传递的參数
    void Serialize (bool value)
    void Serialize (char value) - only one byte [0, 255]
    void Serialize (short value)
    void Serialize (int value)
    void Serialize (float value, float maxDelta = 0.00001f);
    void Serialize (Quaternion value, float maxDelta = 0.00001f);
    void Serialize (Vector3 value, float maxDelta = 0.00001f);
    void Serialize (NetworkPlayer value)
    void Serialize (NetworkViewID viewID)

    RPCMode:
    Server - only server
    Others - send to everyone except the sender
    OthersBuffered - Send to everyone except sender and adds to the buffer
    All - send to everyone
    AllBuffered - Sends to everyone and adds to the buffer

    Network:
    Network.AllocateViewID - 自己主动生成一个可用的viewid
    Network.CloseConnection - 关闭当前连接
    Network.Connect - 连接到指定port或者域名
    Network.connections -当前网络的连接数
    Network.connectionTesterIP - 測试连接者的IP连接到server
    Network.connectionTesterPort - 測试连接者的port到server (Debug)
    Network.Destroy - 销毁跟当前viewID有关的网络连接
    Network.DestroyPlayerObjects - 销毁跟当前Viewid有关的玩家物体
    Network.Disconnect - 关闭全部已经连接好的连接。关闭网络网络接口
    Network.GetAveragePing - ping 指定连接的玩家
    Network.GetLastPing - 获取最后ping通的玩家
    Network.HavePublicAddress - 检查当前机器是否有一个公共IP地址
    Network.incomingPassword - 设置server的连接password
    Network.InitializeSecurity - 设置server加密。自己主动加密处理
    Network.InitializeServer - 初始化server
    Network.Instantiate - 实例化一个已经存在的prefab
    Network.isClient - 推断当前的执行是否为client
    Network.isMessageQueueRunning - 是否取消RPC訪问或者取消网络数据同步
    Network.isServer - 推断当前的执行是否为server
    Network.logLevel - 设置当前网络信息的日志信息等级(sys)
    Network.macConnections - 设置server能够连接的最大数或者游戏玩家数目
    假设设置成0表示仅仅有已经一个连接存在,设置成-1表示最大的连接数与当前
    连接数相等。假设是这样,假设玩家失去连接,则server的位置将会为玩家
    继续保留下来
    Network.mininumAllocatableViewIDs - 设置最小从server获取的viewid数量*
    Network.natFacilitatorIP - 使用网络穿透的IP地址
    Network.natFacilitatorPort - 设置网络穿透的port号
    Network.OnConnectedToServer - [client]当连接server成功时调用
    Network.OnDisconnectedFromServer - [client&svr]当server断开连接时调用
    Network.OnFailedToConnect - [client]当客户端连接失败时
    Network.OnNetworkInstantiate - [client|svr]当网络实例化一个对象调用
    Network.OnPlayerConnected - [svr]当有一个新的玩家连接到server时
    Network.OnPlayerDisconnected - [svr]当有玩家离开游戏时
    Network.OnSerializeNetworkView - [client|svr]通过network view同步变量*
    [void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
    Network.OnServerInitialized - [svr]当server初始化成功时
    Network.peerType - 网络对等状态
    Network.player - 得到当前的NetworkPlayer实例引用
    Network.proxyIP - 代理server的IP地址
    Network.proxyPassword - 代理server的password
    Network.proxyPort - 代理server的port号
    Network.RemoveRPCs - 从server那里移除全部跟当前玩家相关的RPC方法
    Network.RemoveRPCsInGroup - 从server那里移除跟当前组有关RPC方法
    Network.sendRate - 网络同步的发送频率
    Network.SetLevelPrefix - 设置网络前辍。将应用到全部viewid
    Network.SetReceivingEnabled - 设置指定玩家的分组信息能否够接收
    Network.SetSendingEnable - 设置指定玩家的分组信息能否够发送
    Network.TestConnection - 測试当前主机的连接状态*
    Network.TestConnectionNAT - 强制測试当前主机的连接状态
    Network.time - 得到当前网络的时间,单位秒
    Network.useProxy - 使用代理server


    NetworkView:
    NetworkView.Find - 通过netview id来查找一个NetworkView
    NetworkView.group - 当前NetworkView所在的组
    NetworkView.isMine - 当前物体是否有NetworkView控制功能
    NetworkView.observed - 当前NetworkView是否在观察中<name>
    NetworkView.owner - 当前NetworkView是归谁所拥有
    NetworkView.RPC - 调用当前全部已经连接了server的RPC方法
    NetworkView.SetScope - 设置NetworkView的关联NetworkPlayer信息
    NetworkView.stateSynchronization - 网络数据同步发送安全性*
    NetworkView.viewID - 当前NetworkView的NetworkViewID


    NetworkViewID:
    NetworkViewID.isMine - 是否是自己实例化的物体
    NetworkViewID.operator!= - 假设两个NetworkView不相等
    NetworkViewID.operator== - 假设两个NetworkView相等
    NetworkViewID.owner(NetworkView) - 哪个NetworkPlayer拥有的NetworkViewID
    NetworkViewID.ToString - 返回已经格式化好的NetworkViewID信息
    NetworkViewID.unassigned - 表示当前networkview id无效


    NetworkPlayer:
    NetworkPlayer.externalIP - 获取当前NetworkPlayer对外开放的IP地址
    NetworkPlayer.externalPort - 获取当前NetworkPlayer对开开放的port号
    NetworkPlayer.guid - 当前NetworkPlayer的GUID,当使用NAT punchthrough时
    NetworkPlayer.ipAddress - 当前NetworkPlayer的IP地址
    NetworkPlayer.port - 当前NetworkPlayer的端口号
    NetworkPlayer.operator!= - 是否两个NetworkPlayer不相等
    NetworkPlayer.operator== - 是否两个NetworkPlayer相等
    NetworkPlayer.ToString - 返回当前NetworkPlayer的索引


    HostData:
    HostData.comment - 主机描写叙述信息
    HostData.connectedPlayers - 当前的玩家连接数
    HostData.gameName - 当前主机相应的游戏名称
    HostData.gameType - 当前主机相应的游戏类型
    HostData.guid - NAT punchthrough时
    HostData.ip - 主机的IP地址
    HostData.passwordProtected - 主机是否有密码保护
    HostData.playerLimit - 主机最大能承受的玩家数量
    HostData.port - 当前主机的端口号
    HostData.useNat - 当前主机是否已经有Nat穿透功能

    MasterServer:
    MasterServer.ClearHostList - 清除通过从MasterServer.PollHostList获取的主机列表
    MasterServer.dedicatedServer - 当前机器是否有专有server
    MasterServer.ipAddress - 主server的IP地址
    MasterServer.OnFailedToConnectToMasterServer - [svr|client]当连接主server失败时回调
    MasterServer.OnMasterServerEvent - 当主server有事件通知[MasterServerEvent]
    MasterServer.PollHostList - 通过MasterServer.RequestHostList检查最新的主机列表
    MasterServer.port - 主server的端口号
    MasterServer.RegisterHost - 注冊当前server到主server
    MasterServer.RequestHostList - 人主server那里请求主机列表
    MasterServer.UnregisterHost - 从主server那里取消注冊当前server
    MasterServer.updateRate - 设置主server的最小更新频率。假设为0。则主server不进行更新,
    默认更新频率为60s





    
  • 相关阅读:
    隐私政策
    .net打杂工程师的面试感想和总结
    xamarin调试android部署到模拟器错误记录:Deployment failed Mono.AndroidTools.InstallFailedException: Unexpected install output: Error: Could not access the Package Manager. Is the system running?
    C#位运算实际作用之操作整型某一位
    C#位运算实际运用之合并Int
    C#位运算基本概念与计算过程
    ajax异步请求302分析
    http与https区别
    html + css + jquery实现简单的进度条实例
    一个简单的彩色背景图形验证码
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5170679.html
Copyright © 2020-2023  润新知