2017-03-13 99 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