Как передать строку по локальной сети?

#c# #.net #lan

#c# #.net #локальная сеть

Вопрос:

У меня есть два приложения, которые запущены на компьютерах в локальной сети. Мне нужно передать строку между ними, но я не могу этого сделать, потому что сокет.Метод отправки не принимает строку. Есть ли какой-нибудь способ сделать это?

Ответ №1:

перенесите вашу строку в байтовый массив со следующей функцией:

 Encoding.UTF8.GetBytes(str)
  

ByteArrays могут обрабатываться сокетом.функция отправки.

С другой стороны, снова преобразуйте ваш байтовый массив в строку:

 Encoding.UTF8.GetString(buffer)
  

Комментарии:

1. Но как я могу преобразовать ее в строку в другом приложении? О, спасибо. Это то, что мне нужно

Ответ №2:

Вы можете преобразовать свою строку в массив байтов «на лету» по мере ее отправки:

 _socket.Send( System.Text.Encoding.UTF8.GetBytes( datastring ) );
  

На принимающей стороне вы преобразуете ее обратно в строку, подобную этой:

 datastring = System.Text.Encoding.UTF8.GetString(
               bytesBuffer, 0, numberOfBytesReceived );