Java套接字readLine()无限,仅当php脚本超时时结束
我想向java服务器发送一条带有套接字的消息,它应该会响应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); 这是无限的
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";