zoukankan      html  css  js  c++  java
  • http和socket

    大多数情况下都是使用Http协议做网络通信的,少数情况下,如扣扣之类的即时通讯,就是用Socket建立长链接

    Http一般都是短连接的,即客户端和服务端通讯一次后,服务端就关闭连接

    Socket是长连接的,客户端和服务端可以一直保持通讯

    商用软件上和平时你练习的没有本质区别,只是商用更将就复用、安全、健壮。

    我就说下健壮,是指有网络连接超时处理,网络通讯异常处理等,数据解析错误处理,这可比平时练习的要考虑了多了去了,楼主!

    1.当你需要支持HTTP协议的时候,使用HTTP链接,当你不需要支持HTTP协议的时候,就可以不用http链接。
    2.http底层也是socket,只不过是支持了http协议的socket。
    3.一般即时聊天类软件用java.nio包下的相关类(非阻塞)。
    4.另外,http1.1协议是支持长连接的。通过设置connection头是keep alive实现(当然服务端也要支持http1.1)。
    5. 目前大多数浏览器都支持http1.1。这样在页面中存在很多待下载资源(如图片)的时候就不用频繁的建立链接了。
     
     
     
     
    简单的说HTTP一般为单向的,如你像服务器发起一个请求,服务器就会返给你需要的,而socket使双向的,即一方(如客户端)有改变就会通知另一方(如服务器)要求保持一致,当这一方(服务器)发生改变会通知另一方(客户端)要保持数据一致。 一般情况下程序要保持实时性(如及时通讯,股票软件等)的话用socket比较好, 要是普通对实时行要求不高的,就用http就够了,取之有点用于你的程序,根据你的情况而定。这样解释不知能否明白!
  • 相关阅读:
    经典的博客有价值的博客
    关于前后端接口的异常的处理
    java重新学习记载的一些资料。
    java重新开始学习
    MFC Socket
    修复 SQLite 数据库文件
    VC++源文件编码
    VC++ 中使用 std::string 转换字符串编码
    Windows代码页、区域
    UTF-7编码
  • 原文地址:https://www.cnblogs.com/yulang314/p/3619407.html
Copyright © 2011-2022 走看看