本文整理汇总了C#中Utilities.SetValue方法的典型用法代码示例。如果您正苦于以下问题:C# Utilities.SetValue方法的具体用法?C# Utilities.SetValue怎么用?C# Utilities.SetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utilities
的用法示例。
在下文中一共展示了Utilities.SetValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: C_ReciveFiles
public bool C_ReciveFiles(List<string> cfilePaths, List<string> sfilePaths, ref Utilities.UpdateInfo notify)
{
// UpdateInfo[0] = Cancel/Complate - bool
// UpdateInfo[1] = ProgreeBarFiles Max Value - int
// UpdateInfo[2] = ProgreeBarFiles Value - int
// UpdateInfo[3] = ProgreeBarFile Max Value - int
// UpdateInfo[4] = ProgreeBarFile Value - int
notify.SetValue(1, sfilePaths.Count);
byte[] Buffers;
Socket Sok = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
string contains = string.Empty;
foreach (string item in sfilePaths)
{
contains += item + ";";
}
contains = contains.Substring(0, contains.Length - 1);
Buffers = GetCmd(OpCodeProcess.C_ReciveFiles, contains);
Sok.Connect(config.IP, config.PORT);
if (Sok.Connected == true)
{
Sok.Send(Buffers, Buffers.Length, SocketFlags.None);
}
Buffers = Utilities.Buffers.GetBuffer();
Sok.Receive(Buffers, SocketFlags.None);
if (Buffers[0] != (byte)OpCodeProcess.S_OK)
throw new Exception("Server Refuse");
List<long> FileLen = new List<long>();
for (int i = 0; i < sfilePaths.Count; i++)
{
FileLen.Add(BitConverter.ToInt64(Buffers, 1 + (i * 8)));
}
int readSize = 0;
Buffers = Utilities.Buffers.GetBuffer();
for (int fileIndex = 0; fileIndex < cfilePaths.Count; fileIndex++)
{
notify.SetValue(3, FileLen[fileIndex]);//Set File progress Max value
notify.SetValue(4, 0);//Set File progress value = 0
FileStream fs = File.OpenWrite(cfilePaths[fileIndex]);
for (int offset = 0; offset < FileLen[fileIndex]; )
{
if (offset + Buffers.Length > FileLen[fileIndex])
readSize = Sok.Receive(Buffers, (int)(FileLen[fileIndex] - offset), SocketFlags.None);
else
readSize = Sok.Receive(Buffers, Buffers.Length, SocketFlags.None);
fs.Write(Buffers, 0, readSize);
offset += readSize;
notify.SetValue(4, Convert.ToInt32(notify.GetValue(4)) + readSize);//File progress value
if ((bool)notify.GetValue(0))
return false;
}
fs.Flush(); fs.Close(); fs.Dispose();
notify.SetValue(2, Convert.ToInt32(notify.GetValue(2)) + 1);//Files progress value
}
return true;
}
示例2: C_SendFiles
public bool C_SendFiles(List<string[]> filePaths,ref Utilities.UpdateInfo notify)
{
/* UpdateInfo[0] = Cancel/Complate - bool
* UpdateInfo[1] = ProgreeBarFiles Max Value - int
* UpdateInfo[2] = ProgreeBarFiles Value - int
* UpdateInfo[3] = ProgreeBarFile Max Value - int
* UpdateInfo[4] = ProgreeBarFile Value - int
*/
notify.SetValue(1, filePaths.Count);
byte[] Buffers;
Socket Sok = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
string contains = string.Empty;
foreach (string[] item in filePaths)
{
//item[0] = client filename ; item[1] = server filename
contains += new FileInfo(item[0]).Length + ";" + item[1] + ";";
}
contains = contains.Substring(0, contains.Length - 1);
Buffers = GetCmd(OpCodeProcess.C_SendFiles, contains);
Sok.Connect(config.IP, config.PORT);
if (Sok.Connected == true)
{
Sok.Send(Buffers, Buffers.Length, SocketFlags.None);
}
Sok.Receive(Buffers, SocketFlags.None);
if (Buffers[0] != (byte)OpCodeProcess.S_OK)
throw new Exception("Server Refuse");
int readed = 0;
Buffers = new byte[4097];
foreach (string[] item in filePaths)
{
FileStream fs = File.OpenRead(item[0]);
notify.SetValue(3, fs.Length);
notify.SetValue(4, 0);
for (int i = 0; i < fs.Length; )
{
readed = fs.Read(Buffers, 0, Buffers.Length - 1);
Sok.Send(Buffers, readed, SocketFlags.None);
i += readed;
notify.SetValue(4, Convert.ToInt32(notify.GetValue(4)) + readed);// File progress value
}
fs.Flush(); fs.Close(); fs.Dispose();
notify.SetValue(2, Convert.ToInt32(notify.GetValue(2)) + 1);// Files progress value
}
return true;
}