Как передать массив через сокет? - C# (186257)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста. Нужно реализовать игру крестики нолики, клиент-сервер. Здесь я могу передать переменную message типа string, а как мне передать двумерный массив который будет содержать информацию о матрице?
            // Буфер для входящих данных
            byte[] bytes = new byte[1024];
 
            // Соединяемся с удаленным устройством
            
            // Устанавливаем удаленную точку для сокета
            IPHostEntry ipHost = Dns.GetHostEntry("localhost");
            IPAddress ipAddr = ipHost.AddressList[0];
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, port);
            
            Socket sender = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            
            // Соединяем сокет с удаленной точкой
            sender.Connect(ipEndPoint);
 
            Console.Write("Введите сообщение: ");
            string message = Console.ReadLine();
 
            Console.WriteLine("Сокет соединяется с {0} ", sender.RemoteEndPoint.ToString());
            byte[] msg = Encoding.UTF8.GetBytes(message)
          
            // Отправляем данные через сокет
            int bytesSent = sender.Send(msg);
 
           // Получаем ответ от сервера
            int bytesRec = sender.Receive(bytes);

Решение задачи: «Как передать массив через сокет?»

textual
Листинг программы
int[,] board = new int[3,3];
// ..
byte[] buf = new byte[board.Length * sizeof(int)];
Buffer.BlockCopy(board, 0, buf, 0, buf.Length);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы