我正在尝试将.net中的一些应用程序转换为delphi
但我的工具不起作用,所以我不知道这是正确的方法还是没有
这是c#的代码
websocket.Send("hello servernx00");
websocket.Send("1 guestnx00");
websocket.Send("0 0 -nx00");
这是delphi代码(我的尝试)
WSClient1.SendText('hello server'+ #13 + #10 + #0);
WSClient1.SendText('1 guest'+ #13 + #10 + #0);
WSClient1.Sendtext('0 0 -' + #13 + #10 + #0);
但我没有得到我想要的回应。。在c#中,它用"fileno"字符串返回结果,但在我的工具中,我从来没有看到它只是另一个字符串(字符串只是关于服务器的信息)
n
转义序列表示"新行"。它在未转义的字符串中表示为单个#10字符(ASCII代码10),而不是CR/LF对。
其次,C#代码中字符串上的x00
终止序列很可能是Send()neneneba API所需要的,因为C#中的字符串本质上不是空终止的。如果是这种情况,那么您根本不需要在Delphi代码中包含这个null。在Delphi中,字符串已经以null结尾。
所以你所需要做的就是(例如):
WSClient1.Send('hello fcserver'+ #10);
我应该补充一点,如果没有涉及WSClient1对象和Send()方法的精确细节,后一种关于终止null字符的观察结果可能被证明是不正确的,但我非常相信它是准确的。