在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中是可行的。
答案 0 :(得分:8)
在outputClient.GetStream:
之上创建一个StreamWriter
StreamWriter writer = new StreamWriter(outputClient.GetStream(),
Encoding.ASCII);
writer.Write(message);
(您可能需要using
语句自动关闭编写器,您还应该仔细考虑要使用哪种编码。您确定要将自己限制为ASCII吗?如果您控制两侧连接所以可以选择任意编码,那么UTF-8通常是一个不错的选择。)