做聊天软件时。用httpclient 还是socket,两者都在什么时候用
1个回答
展开全部
你需要用httpclient来做开发,socket是java底层的通信方式.使用的协议是tcp/ip.
而httpclient是模拟(或者说使用)我们日常使用的http协议.也就是说httpclient直接使用的http协议.
而tcp/ip协议是http协议的底层实现.
也就是说http协议要转换成tcp/ip协议.
从java的角度来说,就是httpclient间接的使用了socket来通信.简单的说就是编程的API用的是httpclient,然后这个httpclient通过socket跟外面通信。
而httpclient是模拟(或者说使用)我们日常使用的http协议.也就是说httpclient直接使用的http协议.
而tcp/ip协议是http协议的底层实现.
也就是说http协议要转换成tcp/ip协议.
从java的角度来说,就是httpclient间接的使用了socket来通信.简单的说就是编程的API用的是httpclient,然后这个httpclient通过socket跟外面通信。
追问
socket不是直接可以实现客户端和服务端通讯吗
追答
是的,但是httpclient更加象一个浏览器的行为,而socket更多是直接将数据直接传送和接受。而且因为httpclient是上层的东西,他可以比较容易的实现保密和各种http服务,如果你用socket的话,这些东西就需要自己去写了。
从这个意义上说socket也是可以做的,但是工作量大一些。但是你会对具体的实现和http协议有更多的了解。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询