Socket到底是个什么东西
2015-10-14 14:35
281 查看
Socket在计算机专业术语上的翻译是“通信节点”。计算机网络中阐述,计算机之间的通信通常指的是应用程序之间的通信。而应用程序之间使用Socket来通信,可以简单的认为,Socket封装了TCP/IP协议的具体实现,我们可以通过计算机高级语言在一个抽象层上来实现计算机的通信,而不用考虑具体的细节。
最常见的通信形式是客户端-服务端形式,我们打开浏览器上网,登录QQ聊天,就是属于这种形式。浏览器/QQ是客户端,而网站所在的Web服务器,QQ聊天服务器是服务端。
服务端通过 Socket 监听一个端口,并约定协议,客户端通过 Socket 和服务端建立连接,然后通过特定的协议和服务端进行通信。
以Web服务器为例,它启动以后,监听80端口,并约定使用http协议。浏览器访问Web服务器时,建立连接,发送http请求,Web服务器处理请求,并返回内容。浏览器接收到返回信息后,在浏览器中呈现,并断开连接。
上面提到的连接实际上就是Socket连接,因为它是使用Socket来实现的。需要注意的是,上面的过程是一种最简单的形式,服务端不能主动向客户端发送数据,一次请求完成后连接就断开了。
在某些时候,Socket连接建立后会保持下来,例如聊天应用。当QQ和聊天服务器建立连接后,客户端可以向服务器发送消息,有新消息时,服务器也可以主动向客户端推送消息。连接不会断开,除非用户退出QQ,这就是Socket长连接。而我们通常见到Web服务器和浏览器之间的被称为短连接。
最常见的通信形式是客户端-服务端形式,我们打开浏览器上网,登录QQ聊天,就是属于这种形式。浏览器/QQ是客户端,而网站所在的Web服务器,QQ聊天服务器是服务端。
服务端通过 Socket 监听一个端口,并约定协议,客户端通过 Socket 和服务端建立连接,然后通过特定的协议和服务端进行通信。
以Web服务器为例,它启动以后,监听80端口,并约定使用http协议。浏览器访问Web服务器时,建立连接,发送http请求,Web服务器处理请求,并返回内容。浏览器接收到返回信息后,在浏览器中呈现,并断开连接。
上面提到的连接实际上就是Socket连接,因为它是使用Socket来实现的。需要注意的是,上面的过程是一种最简单的形式,服务端不能主动向客户端发送数据,一次请求完成后连接就断开了。
在某些时候,Socket连接建立后会保持下来,例如聊天应用。当QQ和聊天服务器建立连接后,客户端可以向服务器发送消息,有新消息时,服务器也可以主动向客户端推送消息。连接不会断开,除非用户退出QQ,这就是Socket长连接。而我们通常见到Web服务器和浏览器之间的被称为短连接。
相关文章推荐
- java-模拟tomcat服务器
- Linux socket 初步
- java socket 注意的地方
- java socket 注意的地方
- C#基于socket模拟http请求的方法
- 简单的Ruby中的Socket编程教程
- Socket不能选择本地IP连接问题如何解决
- C#之Socket操作类实例解析
- 使用C#来编写一个异步的Socket服务器
- C#使用Socket快速判断数据库连接是否正常的方法
- 科学知识:理解socket
- php与flash as3 socket通信传送文件实现代码
- 解决time_wait强制关闭socket
- C#使用Socket上传并保存图片的方法
- 服务端 VBScript 与 JScript 几个相同特性的写法与示例
- 深入php socket的讲解与实例分析
- Linux网络编程之UDP Socket程序示例
- 使用AjaxPro.Net框架实现在客户端调用服务端的方法
- Linux网络编程之socket文件传输示例
- 服务端拼接json数据格式的正确写法(Append方式)