我已经使用java套接字编写了一个客户端 - 服务器程序,它工作得很好。现在我正在尝试转移到HTTPS以在客户端和服务器之间进行通信。
我的代码基于java内置套接字(Socket和ServerSocket),它工作得很好。但是,当我使用HTTPS套接字(SSLSocket和SSLServerSocket)而不更改代码的其余部分时,不幸的是不再工作。
该程序需要服务器和客户端之间的持久连接,以便让他们在几分钟内发送和接收数据。问题似乎是HTTPS连接在第一个事务完成后已在服务器或客户端关闭。
更确切地说,这是发生了什么:
1.服务器创建一个SSLServerSocket并在其上调用“accept()”。
2.客户端创建一个SSLSocket并连接到服务器。然后通过“DataOutputStream”写入服务器
3.服务器通过“DataInputStream”读取客户端,并通过“DataOutputStream”发回其响应。
4.客户端通过“DataInputStream”读取服务器。
一切都很好,直到现在!但在此之后,当客户端发送另一个流时,在服务器端没有数据将通过之前使用的相同方法在服务器上“可用()”。
有没有办法让这个连接保持活着?
Tnx for ur帮助提前!Java SSLSocket不会保持活动状态(需要使用HTTPS持久连接)
3
A
回答
1
InputStream.available()
不是检测套接字输入的可靠方法。因此,您没有证据表明连接不存在。只需在读取方法中阻止。这意味着每个客户端都有一个专门的读取线程。
相关问题
- 1. 连接池会保持oracle会话保持活动状态吗?
- 2. 使连接保持活动状态
- 3. 配置保持活动状态始终保持连接状态
- 4. PHP MySQL数据库连接多久保持活动状态?
- 5. TCP连接持久状态
- 6. CFNetwork持久连接(保持活力)
- 7. 断开连接后,实时会话将保持活动状态多久?
- 8. 什么时候TCP套接字需要保持活动状态?
- 9. Tornado AsyncHTTPClient HTTP持久连接支持(HTTP保持活动)
- 10. NHibernate会话需要多久/应该保持开放状态?
- 11. 让Watin会话保持活动状态
- 12. Android保持活动状态
- 13. LDAP套接字保持活动状态
- 14. 如何使Flask /保持Ajax HTTP连接处于活动状态?
- 15. 通过活动使蓝牙保持连接状态
- 16. 使FTP控制连接保持活动状态
- 17. 保持iPhone网络连接处于非活动状态时保持活动状态?
- 18. Apache HttpClient 4.3不保持活动状态
- 19. HTTP持久连接vs无状态Web
- 20. 保持TCP连接保持活动状态并仅循环GET命令
- 21. 使屏幕保持活动状态
- 22. 如何使用boost :: asio使套接字连接保持活动状态?
- 23. 保持oracle连接处于活动状态,访问oracle
- 24. 有关TCP连接和TCP的查询保持活动状态?
- 25. 如何让ezSQL连接保持活动状态?
- 26. 发送连接头设置为保持活动状态
- 27. 让客户端连接保持活动状态
- 28. 响应标头 - 连接:保持活动状态,关闭
- 29. jQuery保持活动状态与动作
- 30. 持续认证保持连接状态连接
请问您可以添加一些代码吗?目前还不清楚“发送流”是什么意思, – Jk1