Example #1
0
        public static string AsDataType(this string content, SocketDataType dataType)
        {
            var dataTypeIdentifier = dataType.AsPacketIdentifier();
            var eofIdentifier      = SocketDataType.EOF.AsPacketIdentifier();
            var start  = dataTypeIdentifier.Length;
            var length = content.Length - start - eofIdentifier.Length;

            return(content.Substring(start, length));
        }
Example #2
0
        // this.SendData(dataType, JsonConvert.SerializeObject(data));

        protected bool SendData(SocketDataType dataType, string data)
        {
            try
            {
                var packetIdentifier = dataType.AsPacketIdentifier();
                var eofIdentifier    = SocketDataType.EOF.AsPacketIdentifier();
                return(this.Send($"{packetIdentifier}{data}{eofIdentifier}"));
            }
            catch (Exception e)
            {
                this.HandleException("SendPacket", e);
            }
            return(false);
        }
Example #3
0
        public static SocketPackage Create(ref byte[] buffer)
        {
            if (buffer.Length == 0)
            {
                return(null);
            }
            if (buffer[0] != 0x1f || buffer[1] != 0x1f)
            {
                throw new PackageException("报文头异常");
            }
            SocketDataType type = (SocketDataType)buffer[2];
            SocketPackage  package;

            switch (type)
            {
            case SocketDataType.File: package = new FileSocketPackage(); break;

            default: package = new NormalSocketPackage(); break;
            }
            return(package.FillHead(ref buffer) ? package : null);
        }
Example #4
0
 protected bool SendData(SocketDataType dataType, object data) =>
 this.SendData(dataType, this.marshaller.Serialize(data));
Example #5
0
 public WeaveSocketGameClientUseEZThread(SocketDataType _type)
 {
     s_datatype = _type;
 }
Example #6
0
 public static string AsPacketIdentifier(this SocketDataType packetType) =>
 $"<{packetType.ToString()}>";
Example #7
0
 public static bool IsDataType(this string content, SocketDataType dataType) =>
 !string.IsNullOrEmpty(content) && content.StartsWith(AsPacketIdentifier(dataType));
Example #8
0
 public SocketData(SocketDataType type, SocketDataAction action, object data = null) : this()
 {
     Type   = type;
     Action = action;
     Data   = data;
 }