#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 );