gpt4 book ai didi

Java ServersSocket 读取后关闭

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:23 27 4
gpt4 key购买 nike

我尝试在 PHPJava 之间创建桥梁,但失败了。按照我的方法,发送一个字符串是可行的,但是服务器在读取数据后就关闭了。

这是我的Java类:

public class Server {

private static BufferedReader inputstream;
private static BufferedWriter outputstream;
private static ServerSocket server;

public static void main(String[] args){
System.out.println("Server gestartet");
createServer();
}

private static void createServer() {
try {
server = new ServerSocket(6666);
Socket client = server.accept();
inputstream = new BufferedReader(new InputStreamReader(client.getInputStream()));
outputstream = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));

String temp = null;

while((temp = inputstream.readLine()) != null){
System.out.println(temp);
}

} catch (IOException e) {
e.printStackTrace();
}

try {
inputstream.close();
outputstream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

这就是我从 PHP 发送字符串的方式:

<?php 
$socket = fsockopen('localhost', 6666, $errno, $errstr, 30);

if(!$socket){
echo("$errno <br> $errstr");
}

fwrite($socket, "Hello its me\n");
fclose($socket);
?>

非常感谢,我希望你能帮助我:)

最佳答案

你必须在你的java代码中循环server.accept()。

在你的java代码中,你接受一次客户端连接,读取传入的数据,仅此而已,你的应用程序结束。

您可以在循环中接受新连接,并在专用线程中处理数据。还可以考虑将 try 与您的流的资源一起使用。

关于Java ServersSocket 读取后关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543002/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com