簡體   English   中英

帶有C#客戶端的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM