Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java套接字readLine()无限,仅当php脚本超时时结束_Java_Php_Sockets_Loops - Fatal编程技术网

Java套接字readLine()无限,仅当php脚本超时时结束

Java套接字readLine()无限,仅当php脚本超时时结束,java,php,sockets,loops,Java,Php,Sockets,Loops,我想向java服务器发送一条带有套接字的消息,它应该会响应 InputStreamReader inputStream = new InputStreamReader(server.getInputStream()); BufferedReader input = new BufferedReader(inputStream); String clientSentence = input.readLine(); System.out.println(clientSentence); 这是无限的

我想向java服务器发送一条带有套接字的消息,它应该会响应

InputStreamReader inputStream = new InputStreamReader(server.getInputStream());
BufferedReader input = new BufferedReader(inputStream);
String clientSentence = input.readLine();
System.out.println(clientSentence);
这是无限的,因此我无法向我的php套接字连接发送响应

PHP:


使用换行符终止PHP套接字中的字符串,以匹配Java服务器的
readLine
语句

$st = "testSalt,broadcast\n";

我对PHP了解不多,但在我看来,如果按原样发送
$st
的内容,Java套接字将不会有任何换行符可读取,因此
input.readLine()
调用将挂起,直到
套接字关闭。

请定义“无限”。如中所示,它从未继续到下一行代码?如果是这样,则称为阻塞
input.readLine()
在等待一行读取时被阻塞。我对PHP了解不多,但在我看来,如果按原样发送
$st
的内容,Java套接字将不会读取任何换行符,因此
readLine()
调用将一直挂起,直到
socket
关闭。是的。我正要说@BenLawry,接得好。用户,您需要在字符串末尾添加换行符。“\n”在我的消息后面添加了:)
$st = "testSalt,broadcast\n";