unity局域网socket传输图片tcp

https://www.bilibili.com/video/bv1iD4y1X7e8
在这里插入图片描述
首先打开服务器,然后打开客户端,修改StreamingAssets的ip地址,然后打开客户端,在服务器里面输入图片的本地路径,输入完成后,点下enter键就能通过服务器传送大客户端里面了

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.UI;

public class GameLoop : MonoBehaviour
{
    public InputField inputField;
    public RawImage rawImage;
    public SendPhoto sendPhoto;
    public static GameLoop Instance;
    void Start()
    {
        Instance = this;
        inputField.onEndEdit.AddListener((str) =>
        {
            Debug.Log(str);
            byte[] bytstmp = GetTexture(str);
            if (bytstmp == null)
            {
                inputField.text = "";
            }
            else
            {
                Texture2D texture = new Texture2D(960, 540);
                texture.LoadImage(bytstmp);
                rawImage.gameObject.SetActive(true);
                rawImage.texture = texture;
                inputField.gameObject.SetActive(false);
                sendPhoto.Send(bytstmp);
            }
        });
    }
    public void Refrush()
    {
        inputField.gameObject.SetActive(true);
        inputField.text = "";
        rawImage.gameObject.SetActive(false);
    }

    byte[] GetTexture(string path)
    {
        byte[] bytstmp = null;
        try
        {
            bytstmp = File.ReadAllBytes(path);
        }
        catch (System.Exception)
        {
            return null;
        }

        return bytstmp;
    }
}

源码

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity局域网传输文件可以通过网络编程的方式实现。以下是一种可能的实现方法: 首先,需要在项目中使用 Unity 的网络模块创建一个本地服务器,并与其他设备建立连接。Unity 提供了 NetworkServer 类和 NetworkClient 类来简化网络通信的配置和管理。可以使用 NetworkServer.Listen() 方法在本地创建一个服务器,并使用 NetworkClient.Connect() 方法从其他设备连接到该服务器。 其次,需要定义文件传输的协议和消息格式。可以使用自定义的消息类来定义传输文件的请求、进度和完成等状态信息。例如,可以定义一个名为 FileTransferMessage 的类,包含文件的名称、大小、传输进度等信息。 然后,需要在服务器端和客户端之间实现文件传输的逻辑。可以使用 Unity 的文件读写 API(如 File 类),将要传输的文件拆分成小块,并在服务器端逐个块地发送给客户端,客户端则接收文件块并逐块存储成文件。 最后,可以根据需求添加一些额外的功能,如断点续传、数据校验等。这些功能可以通过在传输过程中记录已传输的文件块和校验和等方式实现。 需要注意的是,局域网传输文件涉及到网络通信和文件读写等操作,需要对异常情况进行处理,保证传输过程的稳定和安全。 总结起来,Unity局域网传输文件需要借助网络编程的知识和方法,在服务器和客户端之间建立连接,定义传输协议和消息格式,并实现文件的拆分、发送和接收等操作。这样,就可以实现局域网内的文件传输功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值