删除Player上指定的媒体文件

#region 磁盘空间管理:删除Player上指定的媒体文件

public void CommandSetManageDisk(byte gid, byte did,string deletestring)
{
// 分包发送
string ManageDiskStr = deletestring;
byte i = 0;
Encoding GB2312Encoding
= UnicodeEncoding.GetEncoding("GB2312");
byte[] ManageDisk = GB2312Encoding.GetBytes(ManageDiskStr);
byte [] myManageDisk = new byte [300];
int txtLength = ManageDisk.Length;

int packetizationtimer = txtLength / 300;
int packetizationresidue = txtLength % 300;
int packetizationsender;
//如果没有余数,发包时就不用多发一次
if (packetizationresidue > 0)
{
packetizationsender
= packetizationtimer + 1;
}
else
{
packetizationsender
= packetizationtimer;
}
//开始分包发送
for (i = 0; i < packetizationsender; i++)
{
if (i < packetizationtimer)
{
Array.Copy(ManageDisk, i
* 300, myManageDisk, 0, 300);
}
else
{
Array.Copy(ManageDisk, i
* 300, myManageDisk, 0, packetizationresidue);
}

PlayerMessages.SetManageDisk setmanagedisk
= new PlayerMessages.SetManageDisk();
setmanagedisk.direct
= 0x02;
setmanagedisk.category
= 0x03;
setmanagedisk.type
= 0x10;

setmanagedisk.GroupID
= gid ;
setmanagedisk.DeviceID
= did ;
setmanagedisk.Sequence
= i;
setmanagedisk.size
= 300;
if (i == (packetizationsender-1)) {

setmanagedisk.Sequence
=0xFF;
setmanagedisk.size
=(ushort)packetizationresidue;

}

setmanagedisk.DeleteFile
= myManageDisk;

byte[] data = PlayerMessages.StructToBytes(setmanagedisk);
ssock.OnUDPDataSend(data);
}
}




PlayerMessages.SetManageDisk 是struct,UDP包的数据结构
setmanagedisk.Sequence = i;表示包的序号,0xFF表示最后一个包
原文地址:https://www.cnblogs.com/lixinsheng/p/1490343.html