如何在C#而不是byte中使用TcpClient的字符串?

Ali*_*Ali 1 .net c#

在C#中我尝试通过TcpClient发送一个字符串:

byte[] outputOutStream = new byte[1024];
ASCIIEncoding outputAsciiEncoder
string message //This is the message I want to send
TcpClient outputClient = TcpClient(ip, port); 
Stream outputDataStreamWriter   

outputDataStreamWriter = outputClient.GetStream();
outputOutStream = outputAsciiEncoder.GetBytes(message);
outputDataStreamWriter.Write(outputOutStream, 0, outputOutStream.Length);
Run Code Online (Sandbox Code Playgroud)

我必须将消息从字符串转换为字节,有没有办法可以直接将其作为字符串发送?

我知道这在Java中是可行的.

Jon*_*eet 10

StreamWriter在outputClient.GetStream之上创建一个:

StreamWriter writer = new StreamWriter(outputClient.GetStream(),
                                       Encoding.ASCII);
writer.Write(message);
Run Code Online (Sandbox Code Playgroud)

(您可能需要一个using语句来自动关闭编写器,您还应该仔细考虑要使用的编码.您确定要将自己限制为ASCII吗?如果您控制连接的两端,那么可以选择任意编码那么UTF-8通常是一个不错的选择.)