Unity中进行网络通信:一:unity客户端连接服务端
目录
一.目的
1.想知道:Unity中进行网络通信:unity客户端连接服务端
二.参考
1.unity3D中使用Socket进行数据通信(一)
- 总结:good:能进行单个、多个客户端连接服务端;but:没有通信,只能检查连接上
三.操作:一:完成:Unity客户端能连接到服务端
1.下载
1.运行结果:
- 网络调试助手开启服务端
- 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);
}
}
}