python twisted服务器与C#clien

2024-09-28 23:35:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python twisted tcp服务器,我用以下代码传输数据:

self.transport.write("true")

它传输字符串“true”。

我计划在我的C客户机中使用以下代码:

^{pr2}$

我尝试了UTF8和Default(ASCII)encode将其转换为字符串:

string returndata = Encoding.UTF8.GetString (rba);

以及

string returndata = Encoding.Default.GetString (rba);

试着这么做:

if ( returndata == "true" ) 
    do something

但这并不等于returndata等于“true”,我不知道为什么?

有人能帮我理解吗?


Tags: 字符串代码self服务器truedefaultstringtwisted
1条回答
网友
1楼 · 发布于 2024-09-28 23:35:12
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之后停止。在

或者,您也可以这样做:

^{pr2}$

相关问题 更多 >