目录

一.目的

1.想知道:Unity中进行网络通信:unity客户端连接服务端

二.参考

1.unity3D中使用Socket进行数据通信(一)

三.操作:一:完成:Unity客户端能连接到服务端

1.下载

1.运行结果:

1.Unity设置

1.代码:MySocket_client


一.目的

1.想知道:Unity中进行网络通信:unity客户端连接服务端

 

二.参考

1.unity3D中使用Socket进行数据通信(一)

https://blog.csdn.net/qq_38112703/article/details/82624469?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

  1. 总结:good:能进行单个、多个客户端连接服务端;but:没有通信,只能检查连接上

 

三.操作:一:完成:Unity客户端能连接到服务端

1.下载

Unity3D的TCP/socket通信.rar

 

 

1.运行结果:

  1. 网络调试助手开启服务端
  2. Unity中可以连接服务端,单个、多个都能连接上

 

1.Unity设置

 

1.代码:MySocket_client

using UnityEngine; 
using System.Collections; 
using System.Net; 
using System.Net.Sockets; 
using System; 
 
/// <summary>
/// 功能:测试 tcp连接
/// </summary>
public class MySocket_client : MonoBehaviour
{
    /// <summary>string:ip地址</summary>
    private string str_ip = "192.168.43.167";

    /// <summary>string:ip的端口号</summary>
    private string str_port = "8080";

    void Start()
    {
        Client();
        SimulateMultiUserClient();
    }

    void Update()
    {
    }
       
    /// <summary>
    /// 功能:客户端连接
    /// </summary>
    private void Client()
    {
        TcpClient client = new TcpClient();

        try
        {
            //client.Connect(IPAddress.Parse("192.168.0.13"), 10001);//同步方法,连接成功、抛出异常、服务器不存在等之前程序会被阻塞
            client.Connect(IPAddress.Parse(str_ip), int.Parse(str_port));//同步方法,连接成功、抛出异常、服务器不存在等之前程序会被阻塞
            Debug.Log("客户端连接成功:" );
        }
        catch (Exception ex)
        {
            Debug.Log("客户端连接异常:" + ex.Message);
        }
        Debug.Log("LocalEndPoint = " + client.Client.LocalEndPoint + ". RemoteEndPoint = " + client.Client.RemoteEndPoint);
    }

    /// <summary>
    /// 功能:模拟多用户客户端 连接
    /// </summary>
    private void SimulateMultiUserClient()
    {
        TcpClient client;
        for (int i = 0; i < 2; i++)
        {
            client = new TcpClient();
            try
            {
                //client.Connect(IPAddress.Parse("192.168.0.13"), 10001);
                client.Connect(IPAddress.Parse(str_ip), int.Parse(str_port));
            }
            catch (Exception ex)
            {
                Debug.Log("客户端连接异常:" + ex.Message);
            }
            Debug.Log("LocalEndPoint = " + client.Client.LocalEndPoint + ". RemoteEndPoint = " + client.Client.RemoteEndPoint);
        }
    }

}

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐