我正在尋找能夠使用二進制協議連接到服務器的php腳本,發送查詢並從中接收數據。我想知道如何在PHP中實現這個?到目前爲止,我有:將PHP字符串轉換爲二進制格式並在連接到服務器時將其重新轉換
<?php
$fp = fsockopen("111.111.10.10", "2222", $errno, $errstr, 10);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "You message");
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
當我說話的二進制文件,我的意思不是計算機語言的底層,我的意思是被髮送到服務器的特定字符串應該在「0101001」進行轉換,因爲這是服務器讀取和轉換信息的方式。我需要一種方法來將php字符串轉換爲這種格式並將其重新轉換回來。
我會解釋你是否完全理解這個問題。
想到什麼是面向字符的編碼比特。例如:'獲取字符串的第一個字母,將其轉換爲它的整數值,將該數字轉換爲二進制併發送它。'雖然......你爲什麼想要這麼麻煩?爲什麼不直接發送字符串本身?因爲它將會是一路和零路。 –
@RefugnicEternium做一個類似於你在PHP中提議的轉換會導致一個'string'包含(ascii編碼的)1和0,因爲PHP沒有基礎的二進制數據類型。因此,您將擴展七次數據的長度(ASCII字符爲七位),並且您還將使其對希望(ascii編碼)字節的套接字的另一端無法理解。 –
是的,真正的Refugnic。那麼,服務器已經被編程爲以這種方式傳輸數據,這就是爲什麼我必須在php中使用它來在網站上顯示數據。 –