2010-11-20 50 views
0

当我发送,例如,“1234”,服务器,这是C++使用SFML库读取“1234╠╠╠╠╤lσ╝╝√= ♦↑עσ”。从C++ SFML clinet发送到服务器时,一切正常。 Onj-c中用Async Socket库编写的原始客户端。 WTF? (所有TCP)阅读套接字有线问题 - 添加一些有线字符的消息

+3

您需要发布一些代码。没有这一点,我们不能够提供帮助。 – 2010-11-20 19:54:04

+0

所以你的问题是“WTF?”?你的问题是“有线”?而你说你正在使用“Onj-c”?发布受影响的代码并更正拼写。 – AndiDog 2010-11-20 20:03:34

回答

0

这听起来像服务器假设它收到的数据是空终止的,但其中一个客户端只是发送“1234”而不是“1234 \ 0”。所以你看到的怪异字符可能是服务器内存中发生的任何垃圾。

您可以使用类似Wireshark这样的工具来查看导线上发生了什么,以及它们在两个客户端之间的差异。

+0

谢谢!我会用它。 – 2010-11-20 20:08:06

2

我不确定这会帮助你,但我建议发送像这样的“1234 \ 0”。

+0

你是对的。忘了那个。 – 2010-11-20 20:05:31

0

SFML中一个天真的实现确实假设一个以null结尾的字段 - 并且会显示它的原始缓冲区。这确实没有终止。用\ 0终止发送字符串,或者发送12345这样的发送字符串,并将打印内容更改为[len]处的\ 0或类似地。

0

从您的lib中获取字符串以及数据的长度并在[len]处添加\ 0