手把手教你如何使用Unity搭建简易图片服务器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 手把手教你如何使用Unity搭建简易图片服务器

引言


服务器


网络游戏中,服务器的搭建尤为重要,无论是授权服务器,还是非授权服务器,它都承担着很大一部分的数据处理。今天,给大家分享一个中高级的小服务器搭建,当然也是在Unity上实现的,可以迁移为服务,外部程序等。其中加入了对象的序列化与反序列化,数据包的封包与拆包,细细品味,别有一番滋味。如ProtoBuf是跨平台的,可以跨平台传输对象。本文使用的是传输层的协议,有兴趣的同学可以使用网络层协议Socket实现。


本文只涉及使用 WAMP 来搭建简单的图片服务器,简单易上手,一起来做吧。

WAMP(Windows + Apache + Mysql + PHP),一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,因为常放在一起使用,所以共同组成了一个强大的 Web 开发平台。

WAMP简介


WAMP的配置与使用


目前有不少AMP(Apache\MySQL\PHP)的集成软件,可以让我们一次安装并设置好。这对于不熟悉AMP的用户来说,好处多多。

主要的WAMP集成环境有:


1、WampServer  Wamp就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用亲自去修改配置文件了,WAMP它会去做。再也不用到处询问php的安装问题了,WAMP一切都搞定了,这个软件在win平台上使用的较多。


2、XAMPP

XAMPP是一款具有中文说明的功能全面的集成环境,XAMPP并不仅仅针对Windows,而是一个适用于Linux、Windows、Mac OS X 和Solaris 的易于安装的Apache 发行版。软件包中包含Apache 服务器、MySQL、SQLite、PHP、Perl、FileZilla FTP Server、Tomcat等等。默认安装开放了所有功能,安全性有问题,需要进行额外的安全设定。


3、AppServ

集成了Apache、PHP、MySQL、phpMyAdmin,较为轻量,版本很久未更新了。


总的来说,以上几种WAMP环境基本上都可以满足初学者配置WAMP环境的需要,像XAMPP和AppServ各种组件比较全,但也会觉得文件组成比较复杂,初学者一下子也看不明白,像Digast Wamp Server由于是全新配置的集成环境,程序文件配置较严谨,环境程序大小也适中,而且可以自定义任意目录,系统会自动进行参数配置,特别适合初学者使用。


4、phpStudy

phpStudy支持22种组合自由切换。该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有35M,有专门的控制面板。总之学习PHP只需一个包。

正文


1、外部工具&素材准备


首先下载并安装 WAMP


此处安装在了 D:\Work\wamp\wamp 目录下面。安装完成后在任务栏有一个图标,点击有如下内容:

image.png

image.png

图片路径设置


然后将需要用到的图片放到网页文件夹那个目下 (改目录在安装 WAMP 的时候会创建):

image.png

在浏览器中输入对应路径打开即可查看图片,如下图所示:

image.png

2、创建 Unity 工程


将图片加载到 Unity 项目中:


项目结构如下:

image.png

代码块


WAMPServerTest.cs 中的代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WAMPServerTest : MonoBehaviour
{
    [SerializeField]
    UITexture tex;
    [SerializeField]
    GameObject btnGetImage;
    string path = "http://localhost/test.png"; //设置路径
    WWW myWWW = null;
    void Awake()
    {
        UIEventListener.Get(btnGetImage).onClick = OnClickGetImageBtn;
    }
    void OnClickGetImageBtn(GameObject go)
    {
        StartCoroutine(GetImage());
    }
    IEnumerator GetImage()
    {
        if (null == myWWW)
            myWWW = new WWW(path);
        yield return myWWW;
        tex.mainTexture = myWWW.texture;
        tex.MakePixelPerfect();
    }
}

运行效果如下:


image.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
259 18
|
9月前
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
10月前
|
存储 数据挖掘 数据库
服务器数据恢复—EMC UNITY 400存储卷被误删除的数据恢复案例
EMC Unity 400存储连接了2台硬盘柜。2台硬盘柜上一共有21块硬盘(520字节)。21块盘组建了2组RAID6:一组有11块硬盘,一组有10块硬盘。 在存储运行过程中,管理员误操作删除了 2组POOL上的部分数据卷。
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
566 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
存储 JavaScript 前端开发
Vue中实现图片上传,上传后的图片回显,存储图片到服务器 【使用对象存储OSS】
这篇文章介绍了在Vue中实现图片上传到阿里云OSS对象存储服务的完整流程,包括服务端签名直传的前提知识、后端设置、前端组件封装以及图片上传和回显的效果展示。
|
Java 应用服务中间件 PHP
[笔记]Nginx使用之作为图片服务器
[笔记]Nginx使用之作为图片服务器
490 0
文件上传 图片上传 客户端图片上传到服务器
文件上传 图片上传 客户端图片上传到服务器
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
242 0
|
图形学 Android开发 UED
【Unity小技巧】图片使用的一些常见问题
【Unity小技巧】图片使用的一些常见问题
388 0
|
图形学
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
1147 0

热门文章

最新文章