大多数情况下都是使用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就够了,取之有点用于你的程序,根据你的情况而定。这样解释不知能否明白!

http和socket的更多相关文章

  1. socket读写返回值的处理

    在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...

  2. Socket聊天程序——Common

    写在前面: 上一篇记录了Socket聊天程序的客户端设计,为了记录的完整性,这里还是将Socket聊天的最后一个模块--Common模块记录一下.Common的设计如下: 功能说明: Common模块 ...

  3. Socket聊天程序——客户端

    写在前面: 上周末抽点时间把自己写的一个简单Socket聊天程序的初始设计和服务端细化设计记录了一下,周二终于等来毕业前考的软考证书,然后接下来就是在加班的日子度过了,今天正好周五,打算把客户端的详细 ...

  4. Socket聊天程序——服务端

    写在前面: 昨天在博客记录自己抽空写的一个Socket聊天程序的初始设计,那是这个程序的整体设计,为了完整性,今天把服务端的设计细化记录一下,首页贴出Socket聊天程序的服务端大体设计图,如下图: ...

  5. Socket聊天程序——初始设计

    写在前面: 可能是临近期末了,各种课程设计接踵而来,最近在csdn上看到2个一样问答(问题A,问题B),那就是编写一个基于socket的聊天程序,正好最近刚用socket做了一些事,出于兴趣,自己抽了 ...

  6. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  7. Android Socket连接PC出错问题及解决

    最近测试问题:Android 通过Socket链接电脑,ip和端口都是正确的,也在同一网段,可android端就是报异常如下: 解决办法:测试电脑的防火墙可能开着,在控制面板把防火墙打开即可.

  8. Linux下的C Socket编程 -- server端的继续研究

    Linux下的C Socket编程(四) 延长server的生命周期 在前面的一个个例子中,server在处理完一个连接后便会立即结束掉自己,然而这种server并不科学啊,server应该是能够一直 ...

  9. Mono 3.2.3 Socket功能迎来一稳定的版本

    由于兴趣自己业余时间一直在搞.net下面的通讯应用,mono的存在得以让.NET程序轻松运行在Linux之下.不过经过多尝试Socket相关功能在Mono下的表现并不理想.不管性能还是吞吐能力方面离我 ...

  10. Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!

    随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...

随机推荐

  1. Java ServerSocket的服务端代码介绍

    转自:http://developer.51cto.com/art/201003/190007.htm 所谓Java ServerSocket通常也称作"套接字",有不少的时候需要 ...

  2. asp.net Identity2 角色(Role)的使用(三)用户管理,用户控制器和视图

    修改用户控制器AccountController,增加角色管理器. public class AccountController : Controller { public AccountContro ...

  3. Activiti6.0教程 Service用途剖析 (二)

    这节我们学习下Activiti的7大对象,首先我们从ProcessEngine接口开始看. /* Licensed under the Apache License, Version 2.0 (the ...

  4. [TJOI2013]松鼠聚会

    Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最短 ...

  5. 暑期训练狂刷系列——Hdu 1698 Just a Hook (线段树区间更新)

    题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1698 题目大意: 有一个钩子有n条棍子组成,棍子有铜银金三种组成,价值分别为1,2,3.为了对付每场 ...

  6. “玲珑杯”第七届郑州轻工业学院ACM程序设计大赛 ------- D:社交网络

    题目链接: http://acm.zzuli.edu.cn/problem.php?cid=1099&pid=3 题目大意: 国语题目,题意显而易见, 解题思路: 只需要对每一个节点进行假设, ...

  7. HDU 1568 快速求斐波那契前四位

    思路: 把斐波那契通项公式转化成log的形式,高中数学... //By SiriusRen #include <bits/stdc++.h> using namespace std; ], ...

  8. _bzoj1192 [HNOI2006]鬼谷子的钱袋【水题】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1192 求2^i > m的最小的i #include <cstdio> in ...

  9. 题解报告:hdu 1171 Big Event in HDU(多重背包)

    Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. Bu ...

  10. 等待进程结束函数中的BUG

    偶然发现一个BUG,有一个函数是这样写的: void WaitProcExit(DWORD dwPid) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACC ...