Unity中进行网络通信:一:unity客户端连接服务端

Unity中进行网络通信:一:unity客户端连接服务端

目录


一.目的

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

二.参考

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

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

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

1.下载

1.运行结果:

  1. 网络调试助手开启服务端
  2. Unity中可以连接服务端,单个、多个都能连接上
www.zeeklog.com  - Unity中进行网络通信:一:unity客户端连接服务端
www.zeeklog.com  - Unity中进行网络通信:一:unity客户端连接服务端

1.Unity设置

www.zeeklog.com  - Unity中进行网络通信:一: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);
        }
    }

}