[英]Error when post message from C# program with server using Twisted python
[英]python twisted server with C# client
我有一個python扭曲的tcp服務器,我使用以下代碼傳輸數據:
self.transport.write("true")
它傳輸字符串“ true”。
我打算使用以下代碼在我的C#客戶端中獲取它:
byte[] rba = new byte[tcpclnt.ReceiveBufferSize];
stm.Read (rba, 0, (int)tcpclnt.ReceiveBufferSize);
我都嘗試過UTF8和Default(ASCII)編碼將其轉換為字符串:
string returndata = Encoding.UTF8.GetString (rba);
和
string returndata = Encoding.Default.GetString (rba);
並嘗試這樣做:
if ( returndata == "true" )
do something
但它不等於returndata為“ true”,我也不知道為什么?
誰能幫助我理解它?
byte[] rba = new byte[tcpclnt.ReceiveBufferSize];
var len=stm.Read (rba, 0, (int)tcpclnt.ReceiveBufferSize);
string returndata = Encoding.UTF8.GetString (rba,len);
您正在解碼整個緩沖區,而不僅僅是解碼得到的4個字節。 stm.Read
應該返回4,然后可以在GetString
使用它告訴它在4之后停止。
另外,您也可以這樣做:
var returndata = stm.ReadToEnd();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.