我有一个应用程序,它使用简单的套接字在两个系统之间传递一些字符.我把我的java应用程序作为服务器运行.我建立一个连接很好,甚至传递一个消息.但是,在发送一条消息后,我的连接关闭.
从我可以看出它似乎在关闭时printWriter,bufferedReader套接字本身正在关闭?!这很糟糕,因为我有多条消息要在同一个连接上发送.
printWriter = new PrintWriter(theServer.getClientSocket().getOutputStream());
bufferedReader = new BufferedReader(new InputStreamReader(theServer.getClientSocket().getInputStream()));
printWriter.println("the line");
printWriter.close(); //Closing on these lines?
bufferedReader.close(); //Closing on these lines?
Run Code Online (Sandbox Code Playgroud)
我满满的吗?如何在Java中维护此连接?
我在AsyncTask中运行以下代码:
socket = new Socket(host, Integer.parseInt(port));
在主机名正确但端口上没有套接字服务器侦听的情况下,此行可能会在抛出异常之前工作几分钟.我可以设置通讯超时吗?此外,是否可以停止此过程 - 目前它不响应AsyncTask.cancel调用.