首先我们需要了解三个Socket类里面的方法:
1、Socket.Connect()
2、Socket.Send()
3、Socket.Receive()
参考连接:Socket 类 (System.Net.Sockets) | Microsoft Learn
在了解完Socket通讯流程图和相关API之后我们来开发客户端代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net.Sockets;
using UnityEngine.UI;
using System.Text;
public class Client : MonoBehaviour
{
Socket socket;
public InputField InputField;
public Text text;
/// <summary>
/// 连接
/// </summary>
public void Connect()
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect("127.0.0.1", 8888);
}
/// <summary>
/// 发送
/// </summary>
public void Send()
{
//发送
string sendStr = InputField.text;
byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr);
socket.Send(sendBytes);
byte[] readBuffer = new byte[1024];
int count = socket.Receive(readBuffer);
string receiveStr=Encoding.UTF8.GetString(readBuffer,0,count);
text.text = receiveStr;
}
}
在Unity中添加两个Button、一个InputField和有Text,Connect方法绑定连接的按钮,Send方法绑定发送按钮。
Connect:客户端点击连接后会和服务端进行连接,这里面127.0.0.1是回送地址,也就是自己电脑的地址(如果不了解可以百度一下),端口号随意设一个大一点的(也不要超过范围,我这里直接是8888)。文章来源:https://www.toymoban.com/news/detail-576989.html
Send:客户端在InputField中输入消息,再点击发送按钮可以讲消息发给服务端,后面还会接收服务端消息,并在Text中显示。文章来源地址https://www.toymoban.com/news/detail-576989.html
到了这里,关于Unity3D 网络游戏框架(二、同步Socket) 参考连接:Socket 类 (System.Net.Sockets) | Microsoft Learn的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!