前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Socket 简介

Socket 简介

作者头像
科控物联
发布2022-03-29 17:32:45
1510
发布2022-03-29 17:32:45
举报
文章被收录于专栏:科控自动化

学习笔记,侵权删.

代码语言:javascript
复制
Socket相关知识

(1)什么是Socket?

在计算机通信领域,socket被翻译为“套接字”

它是计算机之间进行通信

的一种约定或一种方式。通过socket这种约定,一台计算机可以接收其他计

算机的数据,也可以向其他计算机发送数据。

(2)Socket的本质

Socket本质是编程接口(API),对TCP/《P的封装,TCP/丨P也要提供可供程序

员做网络开发所用的接口,这就是Socket编程接口。

(3)Socket的作用

Socket的英文原义是“孔”或“插座”,通常也称作“套接字”,可以用来

实现不同虚拟机或不同计算机之间的通信。
代码语言:javascript
复制
Socket的典型应用:

(1)Socket的典型应用之一就是Web服务器和浏览器:浏览器获取用户输

入的URL,向服务器发起请求,服务器分析接收到的URL,将对应的网页内

容返回给浏览器,浏览器再经过解析和渲染,就将文字、图片、视频等元素

呈现给用户。

(2)QQ或微信等聊天工具也是Socket的应用之一,本地的QQ和微信程序

就是客户端,登录过程就是连接服务器的过程,聊天过程其实就是Socket的

发送和接受过程。 
代码语言:javascript
复制
Socket相关知识

Socket编程方式:

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可

以用“打开open一>读写write/read一>关闭close"模式来操作。Socket就是

该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其

进行的操作(读/写℃、打开、关闭),因此Socket也提供了类似于连接

(Connect)、关闭连接(Close)、发送接受等方法调用。
代码语言:javascript
复制
数据传输方式

常用的有两种:STREAM和DGRAM。

1)STREAM表示面向连接的数据传输方式。数据可以准确无误地到达另一

台计算机,如果损坏或丢失,可以重新发送,但效率相对较慢。

2)DGRAM表示无连接的数据传输方式。计算机只管传输数据,不作数据校

验,DGRAM所做的校验工作少,所以效率比SOCKSTREAM咼。

QQ视频聊天和语音聊天就使用DGRAM传输数据,因为首先要保证通信的

效率,尽量减小延迟,而数据的正确性是次要的,即使丢失很小的一部分数

据,视频和音频也可以正常解析,最多出现噪点或杂音,不会对通信质量有

实质自、影响
代码语言:javascript
复制
顶目前准备知识点

服务器端程序的编写步骤:

第一步:调用s。cket()函数创建一个用于通信的套接字。

第二步:给己经创建的套接字绑定一个端口号,这一般通过设置网络套接

口地址和调用bind()函数来实现。

第三步:调用|isten()函数使套接字成为一个监听套接字。

第四步:调用accept()函数来接受客户端的连接,这是就可以和客户端通

第五步:处理客户端的连接请求。

第六步:终止连接。 
代码语言:javascript
复制
顶目前准备知识点

客户端程序编写步骤:

第一步:调用socket()函数创建一个用于通信的套接字。

第二步:通过设置套接字地址结构,说明客户端与之通信的服务器蒯P地

址和端口号。

第三步:调用connect()函数来建立与服务器的连接。

第四步:调用读写函数发送或者接收数据。

第五步:终止连接。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档