java - PHP 套接字发送数据,但 Java 套接字未接收数据

标签 java php sockets

我正在尝试在 PHP 套接字和 JAVA 套接字之间传输简单的消息。 php套接字成功发送数据并正在等待Java服务器响应。但另一方面,Java 服务器的套接字仍在等待来自 PHP 的消息。

这是 Java 代码:

ServerSocket s = new ServerSocket(4280);
Socket sock = s.accept();
System.out.println("Connected");
BufferedReader br = new BufferedReader(new InputStreamReader(sock.getInputStream()));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
System.out.println("Reading");
String str = br.readLine();
System.out.println("Writing");
bw.write(str);

输出:

已连接

阅读

这是 PHP 代码:

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, "localhost", 4280);
socket_write($socket, "Hello");
echo socket_read($socket, 10);
socket_write($socket, "Lelo");
echo socket_read($socket, 10);

输出:

浏览器:WAITING本地主机

最佳答案

有两件事通常会导致问题:

  • Java 正在使用 readLine() 方法,但您没有发送 换行 并在 PHP 代码中返回。
  • 也尝试在 PHP 端进行刷新。

代码:

添加换行符:

socket_write($socket, "Hello\r\n");

关于java - PHP 套接字发送数据,但 Java 套接字未接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17238721/

相关文章:

java - 使用聚合器通过 camel 的所有路由处理检查文件

c++ - GetQueuedCompletionStatus 过早退出(或者我认为)

Python 逻辑与将数据发送到客户端列表发生冲突

php - CakePHP 保存空模型

php - 无法在 phpinfo() 中加载 PostgresQL 模块

php - 无法使用 PHP 删除 MySQL 记录

c# - 具有双向通信的 TCP 服务器

java - 如何在Java中以非阻塞方式列出目录中的文件?

java - 我们如何通过Jpa获取完整的分层数据列表

java - 选择信息丰富的类名