Unity3D网络游戏开发——开始网络编程:Echo

Unity3D网络游戏开发——开始网络编程:Echo(客户端部分)

什么是Echo程序

Echo程序是网络编程中最基础的案例。建立网络连接后,客户端向服务端发送一行文本,服务端收到后将文本送回客户端。Echo程序分为客户端和服务端两个部分,客户端部分使用Unity实现,服务端使用C#语言。

编写客户端程序

建立界面

打开unity,新建名为Echo的项目,制作简单的UGUI界面,在场景中添加两个按钮,一个输入框和一个文本框,命名如下:
UGUI界面在这里插入图片描述
ConnButton(按钮):连接按钮,用于发起网络连接
InputField(输入框):文本输入框,用于输入发送给服务端的文本
SendButton(按钮):发送按钮,用于将输入的文本发送给服务器
RecvText(文本框):文本框,用于显示从服务器接收到的文本

编写脚本

在Unity的Assert目录下建立名为Echo的C#脚本,并保存
在这里插入图片描述
输入下面代码

using System.Collections;
using System.Collections.Generic;
using System.Net.Sockets;
using System.Text;
using UnityEngine;
using UnityEngine.UI;

public class Echo : MonoBehaviour {

    //定义Socket
    Socket socket;
    //UGUI各组件
    public InputField inputField;
    public Text text;

    //点击连接按钮
    public void Connection()
    {
        //创建连接
        socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        socket.Connect("127.0.0.1", 8888);

    }

    //点击发送按钮
    public void Send()
    {
        //发送信息
        string sendStr = inputField.text;
        byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr);

        socket.Send(sendBytes);

        //接收信息
        byte[] readBuff = new byte[1024];
        int count = socket.Receive(readBuff);
        string recvStr = Encoding.UTF8.GetString(readBuff, 0, count);
        text.text = recvStr;

        //关闭连接
        socket.Close();

    }
}
完成客户端

在Unity的Scene界面下创建名为Echo的空物体,将Echo.cs拖拽到Echo上,并将脚本的InputField和Text属性赋值。
在这里插入图片描述
在属性面板(Inspector)中给ConnButton添加点击事件设置为Echo的Connection方法,给SendButton添加点击事件设置为Echo的Send方法在这里插入图片描述
在这里插入图片描述在这里插入图片描述

运行

点击Unity的运行按钮,运行客户端,点击链接按钮,会提示无法连接

在这里插入图片描述
原因是现在没有服务器端,属于正常现象

编写服务器端

未完待续

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值