Socket 有关内容

本文介绍了Socket通信的基础知识,它是一种基于Unix的通信方式,常用于实时聊天系统。接着,文章展示了如何使用Node.js搭建Socket项目,包括安装依赖、启动项目和创建package.json。Socket.IO提供实时、双向通信,适用于各种平台。此外,还讨论了socket()函数以及socket缓冲区的工作原理,数据写入缓冲区后由TCP协议决定何时发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Socket 有关内容

基础(解释)

socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。socket起源于Unix。主要是用来解决网络通信的。
传统上,套接字是围绕其构建大多数实时聊天系统的解决方案,它提供了客户端和服务器之间的双向通信通道。

框架

将使用Node.JS 确定已经安装过node.je
在项目目录进行安装
npm install安装依赖
npm run start 启动项目
创建成功后将会显示一个文件 如下

让我们创建一个package.json
创建成功如下显示
在这里插入图片描述
如果运行node index.js 应该看到以下内容
在这里插入图片描述
在浏览器中指向 http://localhost:5050
成功页面将会做出反馈
补充
Socket.IO支持实时、双向和基于事件的通信。
它适用于每一个平台、浏览器或设备,同样注重可靠性和速度
socket()函数
socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。如果协议protocol未指定(等于0),则使用缺省的连接方式。
对于使用一给定地址族的某一特定套接口,只支持一种协议。但地址族可设为AF_UNSPEC(未指定),这样的话协议参数就要指定了。协议号特定于进行通讯的“通讯域”。

socket缓冲区以及阻塞模式
socket缓冲区
每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。

write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成功返回,不管它们有没有到达目标机器,也不管它们何时被发送到网络,这些都是TCP协议负责的事情。

TCP协议独立于 write()/send() 函数,数据有可能刚被写入缓冲区就发送到网络,也可能在缓冲区中不断积压,多次写入的数据被一次性发送到网络,这取决于当时的网络情况、当前线程是否空闲等诸多因素,不由程序员控制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值