Unity3D用Network实现区域网连网

这几天做了一个CS的游戏,在这个游戏里,我用到了NetWork来创建服务器和客服端,和实现服务器和客服端的连接,下面是代码:

using UnityEngine;
using System.Collections;

public class MyNetwork : MonoBehaviour {

public int connections=10;   //人数
 public int listenPort=8899;  //端口
 public bool useNat=false;
 public string IP="127.0.0.1";  //IP地址
 public GameObject playerPrefab;

void OnGUI()
      {
  if (Network.peerType == NetworkPeerType.Disconnected) {

if (GUILayout.Button ("创建服务器")) {
            //创建服务器的操作
            NetworkConnectionError error = Network.InitializeServer (connections, listenPort, useNat);
            print (error);

}
        if (GUILayout.Button ("连接服务器")) {

NetworkConnectionError error=Network.Connect(IP,listenPort);
           print(error);
          
        }

} else if (Network.peerType == NetworkPeerType.Server) 
        {
            GUILayout.Label("服务器创建完成");
        
        }
        else if(Network.peerType==NetworkPeerType.Client)
        {
          GUILayout.Label("客服端已经接入");
        
        }

}
    
        //服务器初始化
        //这2个方法都是在服务器端调用的
    void  OnServerInitialized()
    {
    print("server初始化成功");
    int group= int.Parse(Network.player+"");//直接访问Network.player会得到当前客服端的索引值是唯一的
    //Network.player;//访问到当前的player客服端
    Network.Instantiate(playerPrefab, new Vector3(0,10,0),Quaternion.identity,group);

}

//玩家连接服务器
    void OnPlayerConnected(NetworkPlayer player)
    {

print("一个客服端连接过来了,Index Number:" +player);

}

//客服端
    void OnConnectedToServer()
    {

print("我成功连接了服务器");
    int group= int.Parse(Network.player+"");//直接访问Network.player会得到当前客服端的索引值是唯一的
    //Network.player;//访问到当前的player客服端
    Network.Instantiate(playerPrefab, new Vector3(0,10,0),Quaternion.identity,group);

}

//network view 组件用来局域网之内去同步一个游戏物体的组件属性
    //network view 会把创建出来它的客服端作为主人就是主客服端 其他客服端都会以主客服端为主

}

这里需要注意的是:你要实现数据同步的对象身上必须要绑定一个network view 组件

时间: 2024-08-05 19:33:14

Unity3D用Network实现区域网连网的相关文章

【转】Unity3D 关于贝赛尔曲线,平滑曲线,平滑路径,动态曲线

http://tieba.baidu.com/p/2460036481 很多时候我们需要的并不是直线和折线,而是平滑的曲线,比如寻路系统,某些物体的曲线运动,都需要平滑曲线来保证效果,今天试了一下,通过iTweenPath利用的贝赛尔曲线可以很好的实现平滑曲线,下面上图,上资料,上链接,老规矩,要工程的留邮箱 只有一个代码,随便附在一个物体上,通过建空物体,或者其它物体来标志曲线路径,再把这个物体拖到代码的监视面板,就可以了,代码不多也没必须完全理解贝赛尔曲线的定义,会用这个代码的函数就可以了,

因特网的发展历程

0.基本概念 网络:若干节点(node)和连接这些结点的链路(link)组成. 电信网络:电信系统的公共设施. 两个或多个规定的点间提供连接以便建立电信业务和信息的结点与链路的集合. 有线电视网络:高效廉价的综合网络  频带宽 容量大 多功能 低成本 抗干扰能力强 支持多种业务 连接千家万户 为信息高速公路的发展奠定基础. 计算机网络:地理位置不同的具有独立功能的多台计算机及外部设备通过通信线路连接 在网络操作系统 网络管理软件及网络通信协议的管理协调下实现资源共享和信息传递的计算机系统.  作

计算机网络概述

目录 因特网 计算机网络性能指标 网络中通信 三种交换方式 网络分层协议模型 因特网 组成: 边缘部分 由所有连接在因特网上的主机组成 供用户直接使用,用来进行数据交换(传送数据.音频或视频)和资源共享 核心部分 功能: 向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据). 关键组成部分: 路由器(router),路由器是实现分组交换(packet switching)的关键构件,任务是转发收到的分组,这是网络核心部分最重要的功能 由I

words2

餐具:coffee pot 咖啡壶coffee cup 咖啡杯paper towel 纸巾napkin 餐巾table cloth 桌布tea -pot 茶壶tea set 茶具tea tray 茶盘caddy 茶罐dish 碟plate 盘saucer 小碟子rice bowl 饭碗chopsticks 筷子soup spoon 汤匙knife 餐刀cup 杯子glass 玻璃杯mug 马克杯picnic lunch 便当fruit plate 水果盘toothpick 牙签中餐:bear's

计算机网络(1) 体系简介

复习计划 1.掌握计算机网络的基本概念.基本原理.基本方法 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络的组成和特点,理解典型网络设备的工作原理 3.能够综合运用计算机网络的基本概念,基本原理和基本方法进行网络系统的分析.设计和应用 学习方法: 理论+实践 协议分析工具-wireshark 网络拓扑工具-packettracer 辅助命令 ping tracert (traceroot) 计算机网络体系结构与参考模型 1.计算机网络体系结构 计算机网络: 通过通信设备和线路讲地址位置

计算机网络之体系结构

计算机网络概述 组成 从组成成分上看,主要由硬件.软件.协议 从工作方式上看,可分为边缘部分和核心部分 从组成功能上看,由资源子网与通信子网构成,与上面的边缘.核心一一对应 功能 数据通信 资源共享 分布时处理 提高可靠性 负载均衡 分类 按分布范围分类: 广域网(WAN, Wide Area Network) 城域网(MAN, Metropolitan Area Network) 局域网(LAN, Local Area Network) 个人区域网(PAN, Personal Area Net

Network - 计算机网络复习总结

第一章 概述 计算机网络(简称网络)把许多计算机连接在一起,而互联网则把许多网络连接在一起,是网络的网络.因特网是世界上最大的互联网. 以小写字母i开始的internet(互联网或互连网)是通用名词,它泛指由多个计算机网络互连而成的网络.在这些网络之间的通信协议(即通信规则)可以是任意的. 以大写字母I开始的Internet(因特网)是专有名词,它指当前全球最大的.开放的.由众多网络相互连接而成的特点计算机网络,它采用TCP/IP协议族作为通信规则,其前身是美国的ARPANET. 因特网现在采用

Unity3D之MonoBehaviour的可重写函数整理

转载 最近在学习Unity3d的知识.虽然有很多资料都有记录了,可是我为了以后自己复习的时候方便就记录下来吧!下面的这些函数在Unity3d程序开发中具有很重要的作用. Update 当MonoBehaviour启用时,其Update在每一帧被调用. LateUpdate 当Behaviour启用时,其LateUpdate在每一帧被调用. FixedUpdate 当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用. Awake 当一个脚本实例被载入时Awake被调用.

Unity3D脚本学习——运行时类

AssetBundle 类,继承自Object.AssetBundles让你通过WWW类流式加载额外的资源并在运行时实例化它们.AssetBundles通过BuildPipeline.BuildAssetBundle创建. 参见:WWW.assetBundle ,Loading Resources at Runtime ,BuildPipeline.BuildPlayer function Start () { var www = new WWW ("http://myserver/myBund