init commit all code

This commit is contained in:
路 范
2021-12-20 17:17:49 +08:00
parent 66d48149a6
commit f60ad763ed
1325 changed files with 1744918 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
using Newtonsoft.Json;
using SuperSocket.ProtoBase;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace Getf.Service.Transfer.Request.SDK.Entities
{
public class ReceiveFilter : FixedHeaderReceiveFilter<TransInfo>
{
public ReceiveFilter() : base(10)
{
}
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length)
{
bufferStream.ReadInt16();
var len = GetStrLength(bufferStream) + GetDataLength(bufferStream);
return len;
}
public override TransInfo ResolvePackage(IBufferStream bufferStream)
{
((Stream)bufferStream).Position = 2;
var strLength = GetStrLength(bufferStream);
var dataLength = GetDataLength(bufferStream);
var allLength = strLength + dataLength;
byte[] buffer = new byte[strLength];
bufferStream.Read(buffer, 0, strLength);
var json = Encoding.UTF8.GetString(buffer);
var r = JsonConvert.DeserializeObject<TransInfo>(json);
if (r == null)
{
return new TransInfo();
}
buffer = new byte[dataLength];
bufferStream.Read(buffer, 0, dataLength);
r.Data = buffer;
return r;
}
/*protected override TransInfo ResolveRequestInfo(ArraySegment<byte> header, byte[] bodyBuffer, int offset, int length)
{
var strLength = BitConverter.ToInt32(header.Array, header.Offset + 2);
var dataLength = BitConverter.ToInt32(header.Array, header.Offset + 6);
var json = Encoding.UTF8.GetString(bodyBuffer.Skip(offset).Take(strLength).ToArray());
var r = JsonConvert.DeserializeObject<TransInfo>(json);
r.Data = bodyBuffer.Skip(offset + strLength).Take(dataLength).ToArray();
return r;
}*/
private int GetStrLength(IBufferStream bufferStream)
{
byte[] buffer = new byte[4];
bufferStream.Read(buffer, 0, 4);
var r = BitConverter.ToInt32(buffer, 0);
return r;
}
private int GetDataLength(IBufferStream bufferStream)
{
byte[] buffer = new byte[4];
bufferStream.Read(buffer, 0, 4);
var r = BitConverter.ToInt32(buffer, 0);
return r;
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Getf.Service.Transfer.Request.SDK.Entities
{
public class TransBody
{
public string TargetAppID { get; set; }
public string AppID { get; set; }
public string AppSecret { get; set; }
public string Action { get; set; }
public string Param { get; set; }
public string Key { get; set; }
public string Url { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Getf.Service.Transfer.Request.SDK.Entities
{
public class TransHead
{
public string AppID { get; set; }
public string AppSecret { get; set; }
/// <summary>
/// 1 注册 2 请求
/// </summary>
public int Type { get; set; }
public string Param { get; set; }
public string ServiceSecret { get; set; }
public long TimeStamp { get; set; }
public string Sign { get; set; }
}
}

View File

@@ -0,0 +1,53 @@
using Newtonsoft.Json;
using SuperSocket.ProtoBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Getf.Service.Transfer.Request.SDK.Entities
{
public class TransInfo : IPackageInfo
{
public TransHead Head { get; set; }
public TransBody Body { get; set; }
public TransResult TransResultInfo { get; set; }
[JsonIgnore]
public byte[] Data { get; set; }
public static TransInfo Parse(byte[] buffer)
{
var strlength = BitConverter.ToInt32(buffer, 2);
var byteLength = BitConverter.ToInt32(buffer, 6);
var json = Encoding.UTF8.GetString(buffer.Skip(10).Take(strlength).ToArray());
if (json == String.Empty)
{
return null;
}
var r = JsonConvert.DeserializeObject<TransInfo>(json);
r.Data = buffer.Skip(10 + strlength).Take(byteLength).ToArray();
return r;
}
public byte[] ToByte()
{
List<byte> bufferHead = new List<byte>();
bufferHead.AddRange(Encoding.UTF8.GetBytes("@@"));
List<byte> bufferBody = new List<byte>();
var json = JsonConvert.SerializeObject(this);
bufferBody.AddRange(Encoding.UTF8.GetBytes(json));
var strLength = bufferBody.Count;
if (Data != null)
{
bufferBody.AddRange(Data);
}
bufferHead.AddRange(BitConverter.GetBytes(strLength));
bufferHead.AddRange(BitConverter.GetBytes(Data == null ? 0 : Data.Length));
bufferHead.AddRange(bufferBody);
return bufferHead.ToArray();
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Getf.Service.Transfer.Request.SDK.Entities
{
public class TransResult
{
public string Key { get; set; }
public int Code { get; set; }
public string Message { get; set; }
public string Data { get; set; }
}
}