0
好吧,所以我正在運行一個服務器,其中包含大量關於不同事情的數據。 (這是一個我的世界服務器)通過TCP發送巨大的字符串(Java - PHP)
現在,我正在爲該服務器創建一個網站,並且我有一個PHP腳本從服務器發送數據,服務器返回儘可能多的數據。 (它切斷了中間的某個地方)
我知道如何讓一個java服務器發送一個字符串塊到另一個java客戶端,但我不熟悉如何在PHP中完成它。
這是我的PHP腳本:
<?php
$PORT = 4321;
$HOST = "78.70.152.57";
$name = $_POST['name'];
$sock = socket_create(AF_INET, SOCK_STREAM, 0)
or die("error: could not create socket\n");
$succ = socket_connect($sock, $HOST, $PORT)
or die("UNREACHABLE\n");
$text = "AUCTIONS>MONEY:".$name;
socket_write($sock, $text."\r\n", strlen($text."\r\n") + 1)
or die("error: failed to write to socket\n");
$reply = socket_read($sock, 10000)
or die("error: failed to read from socket\n");
echo $reply;
?>
還提供了我的服務器代碼,以防萬一:
BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
String message = input.readLine();
Main.console.sendMessage(message);
String response = "";
if(message.contains(">")) {
String[] messages = message.split(">");
for(String value : messages) {
response += getResponse(value)+">";
}
response = response.substring(0, response.length()-1);
} else {
response = getResponse(message);
}
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
if(response != "") {
out.write(response);
} else {
out.write("SERVER-RESPONSE-INVALID");
}
out.flush();
input.close();
out.close();
注意:只有當它臨危消息,並回應部分是在這裏。注2:我使用AJAX POST代碼來獲取PHP腳本的回聲,如果這很重要的話。