Java和php客户端服务器通信

我需要从php客户端向Java服务器发送信息,但是尽管在服务器端成功执行了一条打印语句,但服务器端却没有接收到信息,但是客户端的文本无法在服务器端接收。以下是代码:

Java服务器:

import java.io.BufferedReader;

import java.net.*;

import java.io.*;

public class javaphp2 {

private static ServerSocket socket;

private static Socket connection;

private static String command = new String();

private static String responseStr = new String();

private static int port = 4309;

public static void main(String args[]) {

System.out.println("Signal Server is running.");

try {

socket = new ServerSocket(port);

while (true) {

connection = socket.accept();

InputStreamReader inputStream = new InputStreamReader(connection.getInputStream());

DataOutputStream response = new DataOutputStream(connection.getOutputStream());

BufferedReader input = new BufferedReader(inputStream);

command = input.readLine();

//System.out.println("The input is" + command);

response.writeBytes(responseStr);

response.flush();

//response.close();

System.out.println("Running");

}

} catch (IOException e) {

System.out.println("Fail!: " + e.toString());

}

System.out.println("Closing...");

}

}

PHP客户端:

#!/usr/local/bin/php -q

<?php

$address = '132.119.90.165';

$port = 4309;

$socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));

socket_connect($socket, $address, $port);

$message = 'Apple';

$len = strlen($message);

$status = socket_sendto($socket, $message, $len, 0, $address, $port);

if($status !== FALSE)

{

$message = '';

$next = '';

while ($next = socket_read($socket, 4096))

{

$message .= $next;

}

echo $message;

}

else

{

echo "Failed";

}

socket_close($socket);

?>

最佳答案

知道了 !,

我们需要添加$message = "Apple\n";而不是$message = 'Apple\n';

以上是 Java和php客户端服务器通信 的全部内容, 来源链接: www.h5w3.com/122633.html

回到顶部