Unity的简单服务器

using UnityEngine;
using System.Collections;

public class networkserver : MonoBehaviour {
    private string roip = "127.0.0.1";
    private int rport = 10000;

    private int concount = 15;
    private bool usenat = true;

    void OnGUI()
    {
        switch (Network.peerType)
        {
            case NetworkPeerType.Disconnected:
                StartServer();
                break;
            case NetworkPeerType.Server:
                OnServer();
                break;
        }
    }

    void StartServer()
    {
        roip = GUI.TextField(new Rect(10, 30, 100, 20), roip);
        if (GUI.Button(new Rect(10, 50, 100, 30), "创建服务器")) {
            Network.incomingPassword = "unitynetwork";

            //启动服务器
            NetworkConnectionError error = Network.InitializeServer(concount, rport, usenat);
            Debug.Log(error);

        }
    }

    void OnServer()
    {
        GUILayout.Label("创建服务器成功!等待连接。。。。。");
        string ip = Network.player.ipAddress;
        int port = Network.player.port;
        //显示外网IP
        string exip = Network.player.externalIP;
        GUILayout.Label("IP地址:" + ip + "\n端口号:" + port + "\n外部网IP:" + exip);
        int connectlength = Network.connections.Length;
        for (int i = 0; i < connectlength; i++)
        {
            GUILayout.Label("连接的IP:" + Network.connections[i].ipAddress);
            GUILayout.Label("连接的端口:" + Network.connections[i].port);
        }
        if (GUI.Button(new Rect(0, 340, 100, 30), "断开连接"))
        {
            Network.Disconnect(200);
            ;
        }
    }

        void OnPlayerDisconnected(NetworkPlayer player){
            Network.RemoveRPCs(player);
            Network.DestroyPlayerObjects(player);
        }

}
时间: 2024-08-01 10:41:09

Unity的简单服务器的相关文章

python3实现UDP协议的简单服务器和客户端

利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端.为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了. UDP:用户数据报协议,是一个面向无连接的协议.采用该协议不需要两个应用程序先建立连接.UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差. 客户端 python3只能收发二进制数据,需要显式转码 from socket import * host = '192.168.48.128

运用 getaddrinfo()函数的简单服务器实现

一.getaddrinfo()函数简介 getaddrinfo() 函数:提供独立于协议的名称解析. 函数原型: getaddrinfo() 函数使用前通常需要对以下 6 个参数进行设置: nodename.servname.hints 的 ai_flags.ai_family.ai_socktype.ai_protocol. 以上在 6 项参数中,对函数影响最大的是nodename,sername 和 hints.ai_flag:ai_family 只有地址为IPv4或IPv6的区别:ai_p

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

python3实现TCP协议的简单服务器和客户端

利用python3来实现TCP协议,和UDP类似.UDP应用于及时通信,而TCP协议用来传送文件.命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱.下面代码就是模拟客户端通过命令行操作服务器.客户端输入命令,服务器执行并且返回结果. TCP(Transmission Control Protocol 传输控制协议):是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. TCP客户端 from socket import * host = '192

Node安装及搭建简单服务器

注:本文安装系统为mac,windows及其他系统下载对应安装包 ,mac下载后的安装包为apk文件,windows为msi文件. 安装 1.在网上下载mongodb 安装包,官方网站2.双击下载文件,按步骤安装,安装完成后就可以使用node和npm命令了.3.打开终端 输入 node -v,终端将提示安装的node版本.4.nodejs运行环境安装成功. 常用的指令: npm install moduleNames:安装Node模块 安装完毕后会产生一个node_modules目录,其目录下就

编写自己的简单服务器

这里记录一个类似tomcat的简单服务器的编写过程,帮助了解使用到的主要技术及原理 这里主要使用到socket网络编程以及线程等技术,关于io的技术也需要熟练掌握 思路讲解: 主要思路就是,每当有请求时,就会创建一个线程并使用socket进行监听,然后使用socket进行读取,及写入操作 代码实现: package com.vincent.server; import java.io.IOException; import java.net.ServerSocket; import java.n

C# Ioc容器Unity,简单实用

原文:C# Ioc容器Unity,简单实用 开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug 好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类. 首先我们需要通过nuget来安装unity 安装好后就可以写一个方法类去实现依赖注入 public class UnityIocHelper : IServiceProvider { private readonly IUnityContainer _container

Unity连Photon服务器入门详解

Photon是目前比较好用的游戏服务器.目前网上对于Photon的服务器讲解比较少,最近也对Photon做了初步的了解,做一个极其详细的入门. 首先就是得下载Photon咯 https://www.photonengine.com/en/OnPremise/Download 这个是服务器下载.(上传图片的功能崩溃了...) 这个服务器是有权限的,免费的有100人上限和30天免费,调试用的话,100人的还是很合算的. https://www.photonengine.com/en/OnPremis

Unity制作简单3D图表

开篇废话: 在大学时稍微自学过一段时间Unity3D,虽然现在在做安卓,但一直对游戏开发很感兴趣,所以平时偶尔有空也会稍微看看,不过水平还是未入门菜鸟级的. 下面这个demo是看了雨松MOMO大神所写的几篇基础文章后,写的一个练习demo,用来展示简易的3D图表. 这个Demo非常初级,纯粹是为了练习知识点,但是所应用到的知识点非常基础,非常重要,适合初学者学习.截图如下:     简介: 这个Demo可以分为4个部分 第一部分--建立3D坐标系: 外框首先由四个平面所围成的一个"3D坐标系&q