Unity网络编程三:客户端连接服务器端

前言

我们完成服务端的搭建以及数据库的连接后,就要实现客户端对于服务端的连接功能

3.1、客户端连接服务器

1,首先创建一个客户端连接脚本,在脚本中连接服务器,同样需要使用Socket来设计连接方式

2,在脚本中首先需要使用构造方法获取服务器地址ip和端口号port

3,对于连接协议、数据传输方式等等按照需要进行选择配置

4,然后定义一个方法,通过Socket中的Connect()方法来连接到指定的服务器端

using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using UnityEngine;

public class ConnServer
{
    
    
    private Socket socket;
    private IPEndPoint ipe;
    //ip地址和端口号,需要和服务器端保持一致
    private string ip;
    private int port;
    public ConnServer(string _ip,int _port)
    {
    
    
        this.ip = _ip;
        this.port = _port;
    }
    public Socket conn()
    {
    
    
        socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        ipe = new IPEndPoint(IPAddress.Parse(ip), port);
        //Connect()为连接服务器端方法
        socket.Connect(ipe);
        return socket;
    }
}

通过代码可以看出使用Socket无论是客户端还是服务端创建连接基本都是一样的,两者连接的重要参数就是IP地址和端口port,而具体的连接方式、协议等Socket已经帮助我们封装好了,我们只需要调用方法即可

3.2、测试连接是否成功

首先创建运行测试脚本Test,将脚本附加在场景物体中,然后编写测试脚本:

通过监听键盘按钮空格键来触发服务器连接事件:

using System.Collections;
using System.Collections.Generic;
using System.Net.Sockets;
using UnityEngine;

public class Test : MonoBehaviour
{
    
    
    ConnServer connServer;

    void Update()
    {
    
    
        if(Input.GetKeyDown(KeyCode.Space))
        {
    
    
            connServer = new ConnServer("127.0.0.1", 30000);
            Socket socket= connServer.conn();
        }     
    }
}

在正式开始前需要先启动之前搭建的服务器,然后再执行Unity中的程序,如果日志中成功打印出“连接服务器成功”则表示服务器连接成功。

总结

Unity客户端连接服务器,基本结构与服务器的搭建相差无几,需要注意的是IP地址和端口号需要保持一致

猜你喜欢

转载自blog.csdn.net/xinzhilinger/article/details/112994937