星空孤星 2015-09-15 23:25 采纳率: 100%
浏览 2660
已采纳

关于java的HTTPURLConnection的使用原理

一直对于http协议的请求原理不是很明白,于是做了如下测试
用ServerSocket做了一个服务端,接收请求,并获取输入流打印,
用HTTPURLConnertion向服务端发送请求,
第一次测试时,客户端只使用了输出流,并使用了flush().然后再close,结果服务端什么都没有输出
就报错了
第二次测试,客户端,即使用了输出流,又使用了输入流,然后再close,结果服务端,正常输出了
,
于是迷茫了,到底时怎么回事啊,请问高手.

  • 写回答

4条回答

  • snailplus 2015-09-19 16:51
    关注

    HTTPURLConnection的原理就是HTTP通信原理。输出就是发出请求,输入就是取得响应。
    一次完整的http会话就是客户端发出请求,服务器接收请求,根据请求内容做业务处理,处理后的数据响应给客户端,客户端接收响应内容。OVER!
    以上任何一个环节出问题都会报错。并且请求与响应使用1个连接,此间如果断开会报错。
    对于第一次测试,如果关闭的只是输出流那么是正确的操作,如果关闭的是连接,那么必然报错(没有完成会话,程序就结束了,同关闭连接)
    对于第二次测试,完整会话过程。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流