http://blog.csdn.net/chenggong2dm/article/details/7896440

1,新建项目。新建一个项目里面会有一个摄像机。

2,编写服务器端代码cs:

[csharp]  view plain  copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class server : MonoBehaviour {  
  5.       
  6.     int Port = 10000;  
  7.       
  8.     //OnGUI方法,所有GUI的绘制都需要在这个方法中实现  
  9.     void OnGUI(){  
  10.         //Network.peerType是端类型的状态:  
  11.         //即disconnected, connecting, server 或 client四种  
  12.         switch(Network.peerType){  
  13.             //禁止客户端连接运行, 服务器未初始化  
  14.             case NetworkPeerType.Disconnected:  
  15.                 StartServer();  
  16.                 break;  
  17.             //运行于服务器端  
  18.             case NetworkPeerType.Server:  
  19.                 OnServer();  
  20.                 break;  
  21.             //运行于客户端  
  22.             case NetworkPeerType.Client:  
  23.                 break;  
  24.             //正在尝试连接到服务器  
  25.             case NetworkPeerType.Connecting:  
  26.                 break;  
  27.         }  
  28.     }  
  29.       
  30.     void StartServer(){  
  31.         //当用户点击按钮的时候为true  
  32.         if (GUILayout.Button("创建服务器")) {  
  33.             //初始化本机服务器端口,第一个参数就是本机接收多少连接  
  34.             NetworkConnectionError error = Network.InitializeServer(12,Port,false);  
  35.             Debug.Log("错误日志"+error);  
  36.         }  
  37.     }  
  38.       
  39.     void OnServer(){  
  40.         GUILayout.Label("服务端已经运行,等待客户端连接");  
  41.         //Network.connections是所有连接的玩家, 数组[]  
  42.         //取客户端连接数.   
  43.         int length = Network.connections.Length;  
  44.         //按数组下标输出每个客户端的IP,Port  
  45.         for (int i=0; i<length; i++)  
  46.         {  
  47.             GUILayout.Label("客户端"+i);  
  48.             GUILayout.Label("客户端ip"+Network.connections[i].ipAddress);  
  49.             GUILayout.Label("客户端端口"+Network.connections[i].port);  
  50.         }  
  51.         //当用户点击按钮的时候为true  
  52.         if (GUILayout.Button("断开服务器")){  
  53.             Network.Disconnect();  
  54.         }  
  55.     }  
  56.       
  57.       
  58.     /* 系统提供的方法,该方法只执行一次 */  
  59.     // Use this for initialization  
  60.     void Start () {  
  61.       
  62.     }  
  63.       
  64.     // Update is called once per frame  
  65.     void Update () {  
  66.       
  67.     }  
  68. }  

3,把这个代码拖拽到摄像机上。

4,运行程序 File---->Build settings---->Build And Run,选择Web Player

5,服务器端建立完毕,保持服务器端的运行状态。

6,这里可以再新建立个项目写客户端。嫌麻烦也可以像我这样,先把摄像机上的服务器脚本删掉,再把下面的客户端脚本拖拽上去。

客户端代码如下:

[csharp]  view plain  copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class client : MonoBehaviour {  
  5.     //要连接的服务器地址  
  6.     string IP = "127.0.0.1";  
  7.     //要连接的端口  
  8.     int Port = 10000;  
  9.           
  10.     void OnGUI(){  
  11.         //端类型的状态  
  12.         switch(Network.peerType){  
  13.             //禁止客户端连接运行, 服务器未初始化  
  14.             case NetworkPeerType.Disconnected:  
  15.                 StartConnect();  
  16.                 break;  
  17.             //运行于服务器端  
  18.             case NetworkPeerType.Server:  
  19.                 break;  
  20.             //运行于客户端  
  21.             case NetworkPeerType.Client:  
  22.                 break;  
  23.             //正在尝试连接到服务器  
  24.             case NetworkPeerType.Connecting:  
  25.                 break;  
  26.         }  
  27.     }  
  28.           
  29.           
  30.     void StartConnect(){  
  31.         if (GUILayout.Button("连接服务器")){  
  32.             NetworkConnectionError error = Network.Connect(IP,Port);  
  33.             Debug.Log("连接状态"+error);  
  34.         }  
  35.     }  
  36.           
  37.     // Use this for initialization  
  38.     void Start () {  
  39.       
  40.     }  
  41.       
  42.     // Update is called once per frame  
  43.     void Update () {  
  44.       
  45.     }  
  46. }  

7,运行程序 File---->Build settings---->Build And Run,选择Web Player

8,结果如下,可以通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值