在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/