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)); }
// 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); }
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); }
protected bool SendData(SocketDataType dataType, object data) => this.SendData(dataType, this.marshaller.Serialize(data));
public WeaveSocketGameClientUseEZThread(SocketDataType _type) { s_datatype = _type; }
public static string AsPacketIdentifier(this SocketDataType packetType) => $"<{packetType.ToString()}>";
public static bool IsDataType(this string content, SocketDataType dataType) => !string.IsNullOrEmpty(content) && content.StartsWith(AsPacketIdentifier(dataType));
public SocketData(SocketDataType type, SocketDataAction action, object data = null) : this() { Type = type; Action = action; Data = data; }