您的位置:首页 > 理论基础 > 计算机网络

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

2014-04-22 22:05 447 查看
这里是所有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 - 连接到指定端口或者域名

Network.connections -当前网络的连接数

Network.connectionTesterIP - 测试连接者的IP连接到服务器

Network.connectionTesterPort - 测试连接者的端口到服务器 (Debug)

Network.Destroy - 销毁跟当前viewID有关的网络连接

Network.DestroyPlayerObjects - 销毁跟当前Viewid有关的玩家物体

Network.Disconnect - 关闭所有已经连接好的连接,关闭网络网络接口

Network.GetAveragePing - ping 指定连接的玩家

Network.GetLastPing - 获取最后ping通的玩家

Network.HavePublicAddress - 检查当前机器是否有一个公共IP地址

Network.incomingPassword - 设置服务器的连接密码

Network.InitializeSecurity - 设置服务器加密,自动加密处理

Network.InitializeServer - 初始化服务器

Network.Instantiate - 实例化一个已经存在的prefab

Network.isClient - 判断当前的运行是否为客户端

Network.isMessageQueueRunning - 是否取消RPC访问或者取消网络数据同步

Network.isServer - 判断当前的运行是否为服务器

Network.logLevel - 设置当前网络信息的日志信息等级(sys)

Network.macConnections - 设置服务器可以连接的最大数或者游戏玩家数目

如果设置成0表示只有已经一个连接存在,设置成-1表示最大的连接数与当前

连接数相等,如果是这样,如果玩家失去连接,则服务器的位置将会为玩家

继续保留下来

Network.mininumAllocatableViewIDs - 设置最小从服务器获取的viewid数量*

Network.natFacilitatorIP - 使用网络穿透的IP地址

Network.natFacilitatorPort - 设置网络穿透的端口号

Network.OnConnectedToServer - [client]当连接服务器成功时调用

Network.OnDisconnectedFromServer - [client&svr]当服务器断开连接时调用

Network.OnFailedToConnect - [client]当客户端连接失败时

Network.OnNetworkInstantiate - [client|svr]当网络实例化一个对象调用

Network.OnPlayerConnected - [svr]当有一个新的玩家连接到服务器时

Network.OnPlayerDisconnected - [svr]当有玩家离开游戏时

Network.OnSerializeNetworkView - [client|svr]通过network view同步变量*

[void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)

Network.OnServerInitialized - [svr]当服务器初始化成功时

Network.peerType - 网络对等状态

Network.player - 得到当前的NetworkPlayer实例引用

Network.proxyIP - 代理服务器的IP地址

Network.proxyPassword - 代理服务器的密码

Network.proxyPort - 代理服务器的端口号

Network.RemoveRPCs - 从服务器那里移除所有跟当前玩家相关的RPC方法

Network.RemoveRPCsInGroup - 从服务器那里移除跟当前组有关RPC方法

Network.sendRate - 网络同步的发送频率

Network.SetLevelPrefix - 设置网络前辍,将应用到所有viewid

Network.SetReceivingEnabled - 设置指定玩家的分组信息是否可以接收

Network.SetSendingEnable - 设置指定玩家的分组信息是否可以发送

Network.TestConnection - 测试当前主机的连接状态*

Network.TestConnectionNAT - 强制测试当前主机的连接状态

Network.time - 得到当前网络的时间,单位秒

Network.useProxy - 使用代理服务器

NetworkView:

NetworkView.Find - 通过netview id来查找一个NetworkView

NetworkView.group - 当前NetworkView所在的组

NetworkView.isMine - 当前物体是否有NetworkView控制功能

NetworkView.observed - 当前NetworkView是否在观察中<name>

NetworkView.owner - 当前NetworkView是归谁所拥有

NetworkView.RPC - 调用当前所有已经连接了服务器的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对开开放的端口号

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 - 当前机器是否有专有服务器

MasterServer.ipAddress - 主服务器的IP地址

MasterServer.OnFailedToConnectToMasterServer - [svr|client]当连接主服务器失败时回调

MasterServer.OnMasterServerEvent - 当主服务器有事件通知[MasterServerEvent]

MasterServer.PollHostList - 通过MasterServer.RequestHostList检查最新的主机列表

MasterServer.port - 主服务器的端口号

MasterServer.RegisterHost - 注册当前服务器到主服务器

MasterServer.RequestHostList - 人主服务器那里请求主机列表

MasterServer.UnregisterHost - 从主服务器那里取消注册当前服务器

MasterServer.updateRate - 设置主服务器的最小更新频率,如果为0,则主服务器不进行更新,

默认更新频率为60s


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息