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