Java 在这段代码中,什么决定了什么被发送回客户端?TCP套接字
在下面的代码中,什么决定了什么将被发送回客户端(PHP页面)。我正试图改变这一点,以便它向PHP页面发送一个变量,并返回一条错误消息,该错误消息是根据java代码中的操作定义的 编辑:为了回答一些问题,我想做的是这样 使用套接字向java脚本发送字符串,并将其转换为java脚本中使用的变量。它将运行一些if语句,我需要将错误语句设置为一个变量,比如说“reply”。我需要发送“回复”,然后返回到PHP文件Java 在这段代码中,什么决定了什么被发送回客户端?TCP套接字,java,sockets,tcp,Java,Sockets,Tcp,在下面的代码中,什么决定了什么将被发送回客户端(PHP页面)。我正试图改变这一点,以便它向PHP页面发送一个变量,并返回一条错误消息,该错误消息是根据java代码中的操作定义的 编辑:为了回答一些问题,我想做的是这样 使用套接字向java脚本发送字符串,并将其转换为java脚本中使用的变量。它将运行一些if语句,我需要将错误语句设置为一个变量,比如说“reply”。我需要发送“回复”,然后返回到PHP文件 public class MyJavaServer { public static voi
public class MyJavaServer {
public static void main(String[] args) {
int port = 20222;
ServerSocket listenSock = null; //the listening server socket
Socket sock = null; //the socket that will actually be used for communication
try {
listenSock = new ServerSocket(port);
while (true) { //we want the server to run till the end of times
sock = listenSock.accept(); //will block until connection recieved
BufferedReader br =
new BufferedReader(new InputStreamReader(sock.getInputStream()));
BufferedWriter bw =
new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
String line = "";
while ((line = br.readLine()) != null) {
bw.write("PHP said: " + line + "\n");
bw.flush();
}
//Closing streams and the current socket (not the listening socket!)
bw.close();
br.close();
sock.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
如果我没有弄错你的问题,那么答案发送给同伴的那一行就是
bw.write("PHP said: " + line + "\n");
它将给定的字符串写入
bw
,但实际上并不清楚您要做什么。目前它实际上只是一个echo服务器。在我的PHP端,虽然响应是用$sock发送的:$reply=socket\u read($sock,10000,PHP\u NORMAL\u read)//从socket读取响应,这意味着什么?如果我没弄错的话,说的PHP代码准确地读取了用bw.write()
编写的内容。我不明白它在哪里发回数据,上面的注释大概是0。所以我可以在代码中设置,比如说correct=“correct”,如果我使用bw.write(correct),它将返回变量correct中的文本“correct”?确切地说,这就是它的工作方式。如果您从任何内容派生变量内容并发送该内容,则发送的正是该内容。@Snwspeckle使用socket\u read(…)
接收响应。