什么是网络套接字(Socket)?一时还真不好回答,而且网络上也有各种解释,莫衷一是。下文将以本人所查阅到的资料来说明一下什么是Socket。

Socket定义

  Socket在维基百科的定义:

A network socket is an endpoint of an inter-process communication across a computer network. Today, most communication between computers is based on the Internet Protocol; therefore most network sockets are Internet sockets.

  而在Oracle官网上的定义是:

A socket is one endpoint of a two-way communication link between two programs running on the network. 

  其实他们想表达的都是这个意思:Socket是网络上两个程序双向通讯连接的端点。

  那我们又该如何理解‘端点(endpoint)’一词呢?

  在Unix/Linux中,一切皆文件。那对于这两个操作系统而言,“端点”就是一个特殊的文件,也就是说Socket实际上就是文件。既然Socket是文件,那就可以用“打开open –> 读写write/read –> 关闭close”模式来操作它,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)

最新文章

  1. CSS 百分比 margin & padding
  2. maven项目导入,包名出现异常-多出一个java的前缀
  3. 使用ASP.Net WebAPI构建REST服务(三)——返回值
  4. 一起刷LeetCode5-Longest Palindromic Substring
  5. How to delete a team project from Team Foundation Service (tfs.visualstudio.com)
  6. 交易策略研究 R库
  7. Android.mk 的含义
  8. 使apache解析域名到目录的方法
  9. 二十7天 春雨滋润着无形 —Spring依赖注入
  10. Ubuntu环境openresty的安装
  11. jetty作为内嵌服务器自启动
  12. 区块链会与io域名有什么关系
  13. Ibatis中的<trim>标签应用
  14. ida调试ios应用
  15. 测试之法 —— mock object
  16. pta l2-16(愿天下有情人都是失散多年的兄妹)
  17. List of RGBD datasets
  18. mysql中json_replace函数的使用?通过json_replace对json对象的值进行替换
  19. sql server判断是否为null
  20. [翻译] EAIntroView

热门文章

  1. Web Api 实现新建功能接口
  2. 记一个Redis分布式事务锁
  3. Django 路由name使用
  4. JDK9对集合添加的优化
  5. <More Effective C#: 改善C#代码的50个有效方法>中文版翻译答疑
  6. IDEA开发React环境配置
  7. TeamViewer14试用版到期-怎么解决
  8. gcc 编译过程
  9. JavaScript 之 对话框
  10. Java 重写 super关键字