/// <summary> /// 解析文件传输信息(不包含消息头) /// </summary> /// <param name="fileTransferInfo">待解析字符串(不包含消息头)</param> /// <param name="fileInfo">文件信息</param> protected void ParseFileTransferInfoWithoutHeader(string fileTransferInfo, out TcpFileInfo fileInfo) { //设置默认值 fileInfo = new TcpFileInfo { FileName = string.Empty, FileLength = -1 }; if (!string.IsNullOrWhiteSpace(fileTransferInfo)) { int nIndex = -1; //解析文件名称 nIndex = fileTransferInfo.IndexOf(MsgFileName.Substring(0, MsgFileName.IndexOf(":"))); if (nIndex >= 0) { fileInfo.FileName = GetMsg(fileTransferInfo, nIndex); } //解析文件长度 nIndex = fileTransferInfo.IndexOf(MsgFileLength.Substring(0, MsgFileLength.IndexOf(":"))); if (nIndex >= 0) { Int64.TryParse(GetMsg(fileTransferInfo, nIndex), out fileInfo.FileLength); } } }
/// <summary> /// 解析文件传输信息(包含消息头) /// </summary> /// <param name="fileTransferInfo">待解析字符串(包含消息头)</param> /// <param name="fileInfo">文件信息</param> protected void ParseFileTransferInfo(string fileTransferInfo, out TcpFileInfo fileInfo) { if (fileTransferInfo != null && fileTransferInfo.StartsWith(MsgFileTransferReady)) { //去除消息头的字符串 string strDropHeader = fileTransferInfo.Substring(MsgFileTransferReady.Length); ParseFileTransferInfoWithoutHeader(strDropHeader, out fileInfo); } else { //设置默认值 fileInfo = new TcpFileInfo { FileName = string.Empty, FileLength = -1 }; } }