问题描述
- 关于java的HTTPURLConnection的使用原理
-
一直对于http协议的请求原理不是很明白,于是做了如下测试
用ServerSocket做了一个服务端,接收请求,并获取输入流打印,
用HTTPURLConnertion向服务端发送请求,
第一次测试时,客户端只使用了输出流,并使用了flush().然后再close,结果服务端什么都没有输出
就报错了
第二次测试,客户端,即使用了输出流,又使用了输入流,然后再close,结果服务端,正常输出了
,
于是迷茫了,到底时怎么回事啊,请问高手.
解决方案
http://blog.csdn.net/wangpeng047/article/details/38303865
解决方案三:
啥意思?贴源码。首先使用websocket进行信息传输,需要经过一次handshake(握手),就是连接,然后在进行数据的传输。
解决方案四:
HTTPURLConnection的原理就是HTTP通信原理。输出就是发出请求,输入就是取得响应。
一次完整的http会话就是客户端发出请求,服务器接收请求,根据请求内容做业务处理,处理后的数据响应给客户端,客户端接收响应内容。OVER!
以上任何一个环节出问题都会报错。并且请求与响应使用1个连接,此间如果断开会报错。
对于第一次测试,如果关闭的只是输出流那么是正确的操作,如果关闭的是连接,那么必然报错(没有完成会话,程序就结束了,同关闭连接)
对于第二次测试,完整会话过程。
解决方案五:
『转』【Java】java.net.HttpURLConnection的使用
java.net.HttpURLConnection的使用
java.net.HttpURLConnection的使用
----------------------
时间: 2024-12-27 21:37:02