2017-03-13 93 views
-1

我需要将一个PHP客户端连接到从SFML网络库运行的服务器。我可以与Android TCP连接,但在PHP中,我得到奇怪的事情发生,看看下面的图片:将PHP套接字连接到SFML

simple server

php client

怪胎,我得到一次我加载PHP页面:

php page

正如之前所说的,我可以与Android连接完全正常,并送我想做的事情,而服务器将与“新建连接”和“客户端发送响应WH atever”。我不知道这是否与PHP格式化或任何事情?我被困了很长时间,找不到任何关于它的事情。如果您需要我可以发送的任何其他信息或代码。

回答

0

当你有一个数组并打印它时,数组会衰减为一个指针,它将被打印。 std::string[100]不会解决你的问题,实际上它不是你想要的。网络上的数据以字节形式发送,因此您希望将这些数据捕获为char[100]。一旦你将数据接收到你的数组中,确保你做的是message[size] = '\0',它会终止你的char数组,并让你安全地将它作为一个字符串使用,可以用std::string(message, size)完成。

+0

我没有使用sf :: Packet,正如我所说的,当android连接到android套接字时这工作正常。我从Android发送一个字符串,服务器将其拷贝,并将其放入char []中,并可以正常读取它。也许有一种方法在PHP中将php字符串转换为ac字符串,这是我在发送 –

+0

之前在android中完成的操作我看到我的代码显示我试图直接获取字符串而不是char []数组,但那是只是一个测试,我用char []不是std :: string –

+0

我编辑了我的答案。希望它更有帮助。 – Gambit