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
Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)的更多相关文章
- Unity3d 网络编程(一)(Unity3d内建网络Network介绍)
首先个人说说题外话,Unity3d使用的网络库核心是用C++实现的一款商业网络游戏引擎库. RakNet.所以对于移动设备来说,用Unity3d来写server是全然能够的,而且内建网络库的各项功能封 ...
- Linux网络编程(二)
Linux网络编程(二) 使用多进程实现服务器并发访问. 采用多进程的方式实现服务器的并发访问的经典范例. 程序实现功能: 1.客户端从标准输入读入一行文字,发送到服务器. 2.服务器接收到客户端发来 ...
- 【TCP/IP网络编程】:01理解网络编程和套接字
1.网络编程和套接字 网络编程与C语言中的printf函数和scanf函数以及文件的输入输出类似,本质上也是一种基于I/O的编程方法.之所以这么说,是因为网络编程大多是基于套接字(socket,网络数 ...
- Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)
[Android布局学习系列] 1.Android 布局学习之--Layout(布局)具体解释一 2.Android 布局学习之--Layout(布局)具体解释二(常见布局和布局參数) ...
- C#网络编程二:Socket编程
一:什么是SOCKET socket的英文原义是"孔"或"插座".作为进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端 ...
- Java网络编程二:Socket详解
Socket又称套接字,是连接运行在网络上两个程序间的双向通讯的端点. 一.使用Socket进行网络通信的过程 服务端:服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端的连接 ...
- Linux 网络编程二(Socket创建)
TCP通信 一个程序使用套接字需要执行4个步骤. --分配套接口和初始化 --连接 --发送或接收数据 --关闭套接字 涉及到的调用包括socket.bind.listen.connect(阻塞线程) ...
- IOS研究之网络编程(二)-Cocoa Streams使用具体解释
本文以及相关的系列文章是我总结的iOS网络开发方面的知识点,本文是第二篇,主要分析了Cocoa Streams中的几个重要类 Cocoa Streams实际上是Objective-C对CFNet ...
- [C#网络编程系列]专题一:网络协议简介
转自:http://www.cnblogs.com/zhili/archive/2012/08/11/NetWorkProgramming.html 因为这段时间都在研究C#网络编程的一些知识, 所以 ...
随机推荐
- hdoj 1532 Drainage Ditches(最大网络流)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532 思路分析:问题为最大网络流问题,给定一个有向图,需要求解该有向图的最大网络流,使用Edmonds ...
- [置顶] P2P网贷对推动社会发展的影响
P2P网贷对推动社会发展的影响 1 真正的支持了实体经济,一般借款人就在几万或者50万以下 2 关照小微经济,新型行业.一般小微经济的创新更高,对社会的发展最大化. 3盘活存量 放到银行.保险.国债一 ...
- .net 中文显示乱码问题(Chinese display with messy code)
Case:同样的代码,本地开发环境(local is Chinese Simplify)可以成功运行,但是放到Windows Server 2008 R2(Local is United State) ...
- 文字适应DIV
今天突然碰到了一个奇怪的问题 那就是对于纯数字和英文字母 文字多了会超出div 且即使是设置了height:auto overflow-y:auto 也不管用 只是在x轴上出现滚动条 不论用 ...
- TortoiseGit 自动登录
在环境变量里添加Home=%USERPROFILE% 在运行中打开%Home% 在打开目录中新建文件_netrc,并保存以下内容 machine git.oschina.net login usern ...
- 瀑布流的三种实现方式(原生js+jquery+css3)
前言 项目需求要弄个瀑布流的页面,用的是waterfall这个插件,感觉还是可以的,项目赶就没自己的动手写.最近闲来没事,就自己写个.大致思路理清楚,还是挺好实现的... 原生javascript版 ...
- 转: 让html5标签在ie8及以下的被正确解析的解决方案
最近仿的几个主题中,有几个是采用html5语法制作的,html5嘛,以后必然大势所趋,但是现有的很多浏览器并不支持这种新的标准. 而我制作网站习惯用的是chrome浏览器的,当然不存在不兼容问题了. ...
- setuptools,easy_install使用
当需要安装第三方python包时,可能会用到easy_install命令.easy_install是由PEAK(Python Enterprise Application Kit)开发的setupto ...
- HNOI2016 网络
题目 朴素算法 在线. 树链剖分套一个堆. 时间复杂度\(O(n (\log n)^3)\). 分治 朴素算法中,套一个堆是为了支持删除操作. 采用以下分治可以避免删除操作: 每次对时间\([l,r] ...
- 2015暑假acm短训小结
时间很快,短训已经结束,短短20天,心里有一些思绪想要记下. 收获: 从最近发的随笔中可以看出,做得最多的是搜索——Dfs,Bfs.对于搜索,如何描述状态,如何压缩状态,如何决定下一个结点,是否可以剪 ...