2009-02-03 32 views
1

在C#中我試圖通過TcpClient的發送一個字符串,例如:如何在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中是可行的。

回答

8

創建於outputClient.GetStream頂部的StreamWriter

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

(您可能需要一個using語句自動關閉的作家,你也應該仔細考慮其編碼要使用你確定。你想限制自己的ASCII?如果你控制連接的兩端,所以可以選擇一個任意的編碼,那麼UTF-8通常是一個不錯的選擇。)

+0

他需要將字符串的長度作爲流是否也是自動處理的? – 2009-02-03 17:00:36

相關問題