分为两个Unity项目
一个是SeverTest01 用于Unity的服务器部分 --------- 关于服务器部分的
一个是SocketTest01 用于Unity的客户端部分
初步学习只有简单的服务器和客户端连接,并且发送消息回复,算是一个学习记录
分为如下几个脚本 (Event脚本是固定的直接拖到Unity中即可)
依然还是 代码展示部分
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System;
using UnityEngine;
using UnityEngine.UI;
public class Client : MonoBehaviour {
public InputField input;
public Text receiveText;
TcpSocket tcpClient;
private void Start()
{
//注册监听事件
receiveText = GameObject.Find("ReceiveText").GetComponent<Text>();
//回调函数有四个参数
EventDispatcher.AddEventListener<string>(EventKey.ServerCallBack, UpdateText);
//连接地址为家庭,类型为组,协议为Tcp
Socket client = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
tcpClient = new TcpSocket(client,1024,false);
}
/// <summary>
/// 一个具有参数的方法
/// </summary>
/// <param name="msg"></param>
private void UpdateText(string msg)
{
//receiveText.text = msg;
}
private void Update()
{
if (tcpClient != null && tcpClient.ClientConnect())
{
tcpClient.ClientReceive();
}
receiveText.text = DataManager.Instance.Msg;
}
/// <summary>
/// 设置IP地址,10086为端口号
/// </summary>
public void OnClickConnectBtn()
{
if (!tcpClient.ClientConnect())
{
tcpClient.ClientConnect("10.50.6.160", 10086);
}
}
/// <summary>
/// 注册Btn的点击事件
/// </summary>
public void OnClickToSendServer()
{