Клиент-серверное приложение на сокетах TCP. Умножение матрицы на матрицу - C#
Формулировка задачи:
Здравствуйте!
Нужно создать клиент-серверное приложение, с помощью которого реализуется умножение матрицы на матрицу.
Массивы матриц задаются в клиенте, потом данные передаются серверу, на котором и происходит само вычисление (умножение).
Помогите, пожалуйста, разобраться. Никак не могу понять: как передать массивы с клиента серверу и после получить результат в клиенте.
Решение задачи: «Клиент-серверное приложение на сокетах TCP. Умножение матрицы на матрицу»
textual
Листинг программы
- using System;
- using System.IO;
- using System.Net.Sockets;
- namespace ConsoleApplication198
- {
- class Program
- {
- static void Main()
- {
- var matrix1 = new int[3, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }};
- var matrix2 = new int[3, 3] { { 11, 12, 13 }, { 14, 15, 16 }, { 17, 18, 19 } };
- var result = new int[3,3];
- //создаем сокет
- var client = new TcpClient();
- //коннектимся к серверу
- client.Connect("localhost", 32333);
- //отправляем данные
- using (var stream = client.GetStream())
- using (var bw = new BinaryWriter(stream))
- using (var br = new BinaryReader(stream))
- {
- //отправлем размер матриц
- bw.Write(matrix1.GetLength(0));
- //отправляем матрицы
- SendMatrix(bw, matrix1);
- SendMatrix(bw, matrix2);
- //принимаем ответ
- ReceiveMatrix(br, result);
- }
- //показываем результат
- PrintMatrix(result);
- Console.ReadLine();
- }
- private static void SendMatrix(BinaryWriter bw, int[,] matrix)
- {
- for (int i = 0; i < matrix.GetLength(0); i++)
- for (int j = 0; j < matrix.GetLength(1); j++)
- bw.Write(matrix[i, j]);
- }
- private static void ReceiveMatrix(BinaryReader br, int[,] matrix)
- {
- for (int i = 0; i < matrix.GetLength(0); i++)
- for (int j = 0; j < matrix.GetLength(1); j++)
- matrix[i, j] = br.ReadInt32();
- }
- private static void PrintMatrix(int[,] matrix)
- {
- for (int i = 0; i < matrix.GetLength(0); i++)
- {
- for (int j = 0; j < matrix.GetLength(1); j++)
- Console.Write("{0}\t", matrix[i, j]);
- Console.WriteLine();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д