unity未授权服务器脚本代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyServer : MonoBehaviour
{

    string roip = "127.0.0.1";
    //连接服务器的端口号
    int rport = 10000;
    //判断是否使用Nat转换技术
    bool usenat = false;
    //允许连接服务器的客户端个数
    int concount = 15;

    private void OnGUI()
    {
        //Network.peerType网络状态信息类型
        switch (Network.peerType)
        {
            //NetworkPeerType.Disconnected 网络没有启动,没有连接
            case NetworkPeerType.Disconnected:
                //启动服务器(自定义函数)
                StartServer();
                break;
            // NetworkPeerType.Server服务器已经启动
            case NetworkPeerType.Server:

                //响应服务器(自定义函数)
                OnServer();
                break;
            //etworkPeerType.Connecting服务器正在连接
            case NetworkPeerType.Connecting:

                break;
        }
    }
    void StartServer()
    {
        //创建一个文本按钮,默认内容为roip
        roip = GUI.TextField(new Rect(10, 30, 100, 20),roip);
        //创建服务器按钮,并设置触发后的运行代码
        if(GUI.Button(new Rect(10,50,100,30),"创建服务器"))
        {
            //设置网络登录密码
            Network.incomingPassword = "123456";
            //自动连接服务器,并设置判断错误信息
            NetworkConnectionError error = Network.InitializeServer(concount,rport,usenat);
            //如果出错就输出错误信息
            Debug.Log(error);
        }
    }
    private void OnServer()
    {
        GUILayout.Label("创建服务器成功!等待连接.......");
        //获得服务器局域网ip地址和端口号,并输出显示
        string ip = Network.player.ipAddress;
        int port = Network.player.port;
        GUILayout.Label("IP地址:" + ip + "\n端口号:" + port);
        //connections是连接服务器的客户端数组,获取这个数组的元素个数
        int connectLength = Network.connections.Length;
        //循环打印连接服务器的客户端ip地址和端口号
        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(10,340,100,30),"断开连接"))
        {
            //  Network.Disconnect(200);断开服务器函数,超时时间为200秒
            Network.Disconnect(200);
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值