/// <summary> /// 虚拟机控制器构造函数 /// </summary> /// <param name="net_conn">网络连接创建组件</param> /// <param name="complex">复杂数学运算组件</param> /// <param name="time_path">时间组件文件路径</param> /// <param name="mem_size">内存大小(默认8MB)</param> /// <param name="mem_align">内存最小分配量</param> /// <param name="mem_offset">内存空闲空间分配差值</param> public VMController(INetConnect net_conn, IComplexOperation complex, string time_path = null, int mem_size = Memory_Size, short mem_align = Memory_Align, short mem_offset = Memory_Offset) { MemoryController = new MemoryUnit(mem_size, mem_align, mem_offset); IOController = new IOUnit(this); NetController = new NetUnit(net_conn, this); TimeTool = new Time(time_path); Complex = complex; SVM = null; }
static void Main(string[] args) { Console.WriteLine("----------------- TEST USER A -----------------"); Console.WriteLine("Enter to start..."); Console.ReadLine(); NetUnit netUnit = new NetUnit(port: 11022); Console.WriteLine("Started!"); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("----------------- TEST USER B -----------------"); Console.WriteLine("Enter to start..."); Console.ReadLine(); NetUnit netUnit = new NetUnit(port: 11002); Console.WriteLine("Started!"); Console.Write("Enter to send data..."); Console.ReadLine(); netUnit.Send("127.0.0.1", 11022, Encoding.ASCII.GetBytes("TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest")); Console.ReadLine(); }
private Collection <Net> CreateNetCollectionFromExcelFile(string sourceFileName) { Collection <Net> result = new Collection <Net>(); Excel.Application excelapp = new Excel.Application(); if (excelapp != null) { excelapp.Visible = false; excelapp.Workbooks.Open(sourceFileName, Type.Missing, true); Excel.Workbook workBook = excelapp.Workbooks[1]; Excel.Worksheet workSheet = null; foreach (Excel.Worksheet item in workBook.Sheets) { if (item.Name == "Цифровой алфавит") { workSheet = item; break; } } int col = 1, row = 2; Net net; net = new Net("Цифровой алфавит"); for (int i = 0; i < 10; i++) { Excel.Range cellNumber = (Excel.Range)workSheet.Cells[row + i, col]; Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col + 1]; if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null) { string numberString = cellNumber.Value2.ToString(); string pattern = cellPattern.Value2.ToString(); if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern)) { int temp = 0; if (int.TryParse(numberString, out temp)) { NetUnit unit = new NetUnit(numberString, pattern, net.Name); net.Units.Add(unit); } } } } if (net.Units.Count > 0) { result.Add(net); } net = new Net("Цифровые цвета"); for (int i = 0; i < 10; i++) { Excel.Range cellNumber = (Excel.Range)workSheet.Cells[row + i, col]; Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col + 2]; if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null) { string numberString = cellNumber.Value2.ToString(); string pattern = cellPattern.Value2.ToString(); if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern)) { int temp = 0; if (int.TryParse(numberString, out temp)) { Excel.Range cellColor = (Excel.Range)workSheet.Cells[row + i, col + 3]; if (cellColor != null && cellColor.Value2 != null) { string colorName = cellColor.Value2.ToString(); NetUnit unit; if (!string.IsNullOrEmpty(colorName)) { unit = new NetUnit(numberString, pattern, net.Name, Color.FromName(colorName)); } else { unit = new NetUnit(numberString, pattern, net.Name); } net.Units.Add(unit); } } } } } if (net.Units.Count > 0) { result.Add(net); } foreach (Excel.Worksheet item in workBook.Sheets) { if (item.Name == "Итоговые") { workSheet = item; break; } } row = 2; col = 2; Excel.Range rangeTitle = (Excel.Range)workSheet.Cells[row - 1, col]; while (rangeTitle != null && rangeTitle.Value2 != null) { string netName = rangeTitle.Value2.ToString(); if (!string.IsNullOrEmpty(netName)) { net = new Net(netName); for (int i = 0; i < 110; i++) { Excel.Range cellNumber = (Excel.Range)workSheet.Cells[row + i, 1]; Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col]; if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null) { string numberString = cellNumber.Value2.ToString(); string pattern = cellPattern.Value2.ToString(); if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern)) { int temp = 0; if (int.TryParse(numberString, out temp)) { NetUnit unit = new NetUnit(numberString, pattern, net.Name); net.Units.Add(unit); } } } } if (net.Units.Count > 0) { result.Add(net); } col++; rangeTitle = (Excel.Range)workSheet.Cells[row - 1, col]; } } excelapp.Quit(); } return(result); }