实现思路:
使用udp协议将渲染图像数据发送给另一个设备。
实现重点:
① 压缩图像尺寸后再发送(源尺寸图像的数据太大)
② udp分包发送(udp单个包最多64k,需要分成小包发送)
实现代码:
投屏数据 发起端:
挂载到一个Camera上
using System;
using System.Net;
using System.Net.Sockets;
using UnityEngine;
public class Sender : MonoBehaviour
{
public string tarIP = "127.0.0.1";//目标主机IP
public int tarPort = 8888;//目标主机端口
private IPEndPoint tarEP;
private UdpClient udpClient;
[Header("每秒发送多少张图像(约大约流畅)")]
[Range(10, 60)]
public int sendFPS = 25;
private float delTime = 0f;
[Header("画质(越大约清晰)")]
[Range(0.1f, 0.75f)]
public float huaZhi = 0.25f;
private int perByteCount = 1024;//单个包字节数