作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在与服务器通信,理想情况下,我希望输入流和输出流始终处于运行状态。我收到未经请求的响应,因此我必须始终准备好接收输入流上的数据。
在我进一步深入之前,我应该说我建立的任何连接都必须能够支持 SSL。
我遇到的问题是,当我打开一个 HttpUrLConnection 并从输出流发送内容时,它不会发送实际输出,直到我打开一个输入流。如果我打开一个输入流,它会杀死输出流,并且一旦该流关闭似乎就无法恢复它。
实现我想要的行为的最佳方式是什么?如果在一个端口上同时维护两个流是不可能的,有没有办法让两个独立的流通过一种端口锁定/开关共享连接?
是否有一个库可以发送输出而不必终止输出流来表示我的请求结束?
最佳答案
HTTP 是单一请求协议(protocol)。
您不能(除非 websocket)使用 http(s) 创建持久连接。你需要另一个协议(protocol)。
可以使用基本套接字。除了 url 以 socket://开头外,它的工作方式主要类似于 http 连接。
你只需打开一个连接,然后你就可以获得输入流和输出流并使用它们。
关于java - 持久 I/O 流连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12218430/
我是一名优秀的程序员,十分优秀!