关于unity中Network组件的简单应用
来源:互联网 发布:windows xp下 arp命令 编辑:程序博客网 时间:2024/06/06 19:17
以下信息来自麦子学院
这是最终实现的效果
Network组件的基本原理及相关知识
using System.Collections;using System.Collections.Generic;using UnityEngine;public class NetWork : MonoBehaviour { int port = 10010; string message = ""; Vector2 sc; void OnGUI() { switch(Network.peerType){ case NetworkPeerType.Disconnected: StartSeever(); break; case NetworkPeerType.Server: OnServer(); break; case NetworkPeerType.Client: break; case NetworkPeerType.Connecting: break; } } void StartSeever() { if (GUILayout.Button("创建服务器")) { var error = Network.InitializeServer(12, port, false); //初始化服务器 返回一个创建错误的状态 switch(error){ case NetworkConnectionError.NoError: break; default: Debug.LogError("启动服务器失败"); break; } } } void OnServer(){ GUILayout.Label("服务器已经运行,等待客户端连接"); foreach (var temp in Network.connections) { GUILayout.Label("客户端"+"IP"+temp.ipAddress+"Potr"+temp.port); GUILayout.Label("-----------------"); } //创建scrollview sc=GUILayout.BeginScrollView(sc,GUILayout.Width(280),GUILayout.Height(350)); //绘制纹理显示内容 GUILayout.Box(message); //结束滚动视图 GUILayout.EndScrollView(); } [RPC] void RecvMessage(string str,NetworkMessageInfo info){ message = "发送端" + info.sender + "消息" + str; }}
using System.Collections;using System.Collections.Generic;using UnityEngine;public class NetWorkClient : MonoBehaviour { int port = 10010; string message = ""; Vector2 sc; void OnGUI() { switch (Network.peerType) { case NetworkPeerType.Disconnected: StartConnection(); break; case NetworkPeerType.Server: break; case NetworkPeerType.Client: OnClient(); break; case NetworkPeerType.Connecting: break; } } void StartConnection() { if (GUILayout.Button("连接服务器")) { var error = Network.Connect("127.0.0.1",port); //连接服务器 switch (error) { case NetworkConnectionError.NoError: break; default: Debug.LogError("客户端错误"+error); break; } } } void OnClient() { //创建scrollview sc = GUILayout.BeginScrollView(sc, GUILayout.Width(280), GUILayout.Height(350)); //绘制纹理显示内容 GUILayout.Box(message); //文本框 message = GUILayout.TextArea(message); if(GUILayout.Button("发送")){ GetComponent<NetworkView>().RPC("RecvMessage",RPCMode.All,message); //第一个参数发给的对象名称 第二个是给所有人发 } //结束滚动视图GUILayout.Label("服务器已经运行,等待客户端连接"); GUILayout.EndScrollView(); } [RPC] void RecvMessage(string str, NetworkMessageInfo info) { message = "发送端" + info.sender + "消息" + str; }}
阅读全文
0 0
- 关于unity中Network组件的简单应用
- unity network组件的使用
- 关于Unity中joint的简单理解
- bcb中TChart组件的简单应用
- bcb中TChart组件的简单应用
- 关于Unity中Rigidbody组件的各个变量的含义
- Unity Network初窥 内置的网络组件使用整理
- 关于Angular中directive的简单应用
- 【UNet】初识Unity Network,制作一个简单的网络聊天室
- Tab组件的简单应用
- Unity中WWW的应用
- Unity中Slider组件的学习
- Unity的简单贴图动画的应用
- Unity IOC容器的简单应用
- unity关于StartCoroutine的简单线程使用
- 关于Unity读取XML的简单学习
- Unity基于Network的使用
- 关于Opencv2.4.x中stitcher类的简单应用
- 基于栈的非递归方法实现二叉树
- 《具身认知》
- synchronized锁优化
- jdk动态代理生成代理对象源码分析-4
- PV操作(原语)及相关概念以及常见疑问
- 关于unity中Network组件的简单应用
- 4-12固定定位的用途顶部导航栏
- 合并两个有序的链表使新链表依然有序(不开辟新空间,在原链表上操作。 递归版本)
- JdkDynamicAopProxy-invoke方法-5
- Java 常识 可变参数,Arrays工具类的使用 二维数组
- 【codevs 1851】越狱
- Android初学者仿QQ聊天软件APP (一) 登录界面
- Akka并发编程——第七节:Actor模型(六)
- 单例模式和静态类