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



时间: 2024-10-12 08:22:21

Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)的相关文章

Unity3d 网络编程(三)(Unity3d内建网络简单服务器的建立)

使用Unity3d的内建网络搭建一个简单的服务器,使用本机当主机,创建一个客户端连接到本机, 我使用的NGUI作为主界面,服务器代码: string ipAddress = "127.0.0.1"; int port = 23000; string msg = ""; public UILabel lbl; // Use this for initialization void Start () { } // Update is called once per fr

Linux网络编程(二)

服务套和客户机的信息函数 1.字节转换函数 在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha芯片却相反. 为了统一起来,在Linux下面,有专门的字节转换函数. unsigned long int htonl(unsigned long int hostlong)     unsigned short int htons(unisgned short int hostshort)     unsigned

winform网络编程(二)

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

安卓第八天笔记--网络编程二

安卓第八天笔记--网络编程二 1.网络图片查看器 /** * 网络图片查看器 * 1.获取输入的URL地址,判断是否为空 * 2.建立子线程,获取URl对象new URL(path) * 3.打开连接获取HttpURLConnection conn = (HttpURLConnection) url.openConnection(); * 4.设置连接超时时间conn.setConnectionTimeOut(5000)毫秒 * 5.设置请求方式setRequestMethod * GET或者P

网络编程(二)

网络编程(二)    >>>思维导图>>>中二青年 基于TCP协议的Socket套接字 server端 import socket sk = socket.socket() sk.bind(('127.0.0.1',8898)) # 把地址绑定到套接字 sk.listen() # 监听链接 conn,addr = sk.accept() # 接受客户端链接 ret = conn.recv(1024) # 接收客户端信息 print(ret) # 打印客户端信息 conn

Android 布局学习之——Layout(布局)具体解释二(常见布局和布局參数)

 [Android布局学习系列]   1.Android 布局学习之--Layout(布局)具体解释一   2.Android 布局学习之--Layout(布局)具体解释二(常见布局和布局參数)   3.Android 布局学习之--LinearLayout的layout_weight属性   4.Android 布局学习之--LinearLayout属性baselineAligned的作用及baseline    Layout Parameters(布局參数): 在XML文件里,我们常常看到类

网络编程二

一.为什么要用网路编程? 首先我们要明确一个问题,为什么要用网络编程?因为我们所写的代码程序不只是给自己看的,自己玩的,那样就没什么意义了. 网络编程的意义就是将很多的电脑连接起来共享你们之间的文件 二.软件开发的架构 软件开发的架构有两种 1. c/s架构 c/s 即:Client与Server 架构简单的说就是客户端与服务器架构.这种架构也是从用户层面(也可以是物理层面)来划分的. 2.B/S架构 B/S即:Browser与Server,大概意思就是浏览器端与服务器端架构.这种架构是从用户层

C#网络编程二:Socket编程

一:什么是SOCKET socket的英文原义是"孔"或"插座".作为进程通信机制,取后一种意思.通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄(其实就是两个程序通信用的).socket非常类似于电话插座.以一个电话网为例:电话的通话双方相当于相互通信的2个程序,电话号码就是ip地址.任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket:同时要知道对方的号码,相当于对方有一个固定的socket.然后向对方拨号呼叫

Java网络编程二:Socket详解

Socket又称套接字,是连接运行在网络上两个程序间的双向通讯的端点. 一.使用Socket进行网络通信的过程 服务端:服务器程序将一个套接字绑定到一个特定的端口,并通过此套接字等待和监听客户端的连接请求. 客户端:客户端程序根据你服务器所在的主机名和端口号发出连接请求. 两者之间的通信是通过Socket完成的,我们可以认为Socket是两个城市之间的交通工具,有了它,就可以在两个城市之间穿梭了. Socket通信示例 主机A的应用程序和主机B的应用程序通信,必须通过Socket建立连接,而建立