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


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

我知道这在Java中是可能的。

最佳答案

在outputClient.GetStream的顶部创建一个StreamWriter

StreamWriter writer = new StreamWriter(outputClient.GetStream(),
                                       Encoding.ASCII);
writer.Write(message);


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

关于c# - 如何在C#中将字符串用于TcpClient而不是字节?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/507936/

10-13 02:39