首页 > 其他分享 >【项目实战】网络通信协议Socket和WebSocket入门介绍

【项目实战】网络通信协议Socket和WebSocket入门介绍

时间:2024-10-29 11:20:38浏览次数:6  
标签:网络通信 文件 WebSocket Socket 一个 描述符 接字 操作系统

一、Socket

1.1 文件描述符详解

  • 文件描述符是在操作系统层面用来访问文件或I/O资源(如网络套接字)的一个抽象的、非负整数。每个进程在打开一个文件或创建一个套接字时,都会得到一个唯一的文件描述符。
  • 在Unix/Linux系统中,标准输入(stdin)、标准输出(stdout)和标准错误(stderr)默认对应的是0, 1, 2这三个文件描述符。
  • 文件描述符是内核用来追踪每一个打开文件的数据结构的一部分,用户空间程序通过这些描述符来执行读写操作。

1.2 Socket与文件描述符之间的关系

  • 当使用socket API创建一个新的套接字时,实际上是在操作系统中分配了一个新的文件描述符给这个套接字。
  • 套接字可以像普通文件一样被读写,因此可以通过文件描述符进行数据传输。例如,在C语言中,read()write() 函数既可以用于常规文件也可以用于套接字。

1.3 Socket与TCP之间的关系

  • Socket 是一种通信机制,它提供了一种

标签:网络通信,文件,WebSocket,Socket,一个,描述符,接字,操作系统
From: https://blog.csdn.net/wstever/article/details/139607328

相关文章

  • rust+tikio实现websocket
    toml[dependencies]libc="0.2.98"tokio={version="1.8.1",features=["sync","time","rt-multi-thread","macros"]}tokio-tungstenite="0.15.0"tungstenite="0.14.0"futu......
  • C#使用Socket实现分布式事件总线,不依赖第三方MQ
    使用Socket实现的分布式事件总线,支持CQRS,不依赖第三方MQ。CodeWF.EventBus.Socket是一个轻量级的、基于Socket的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。CommandQuery特性轻量级:不......
  • C# SuperSocket 基础七【CountSpliterReceiveFilte-固定数量分隔符协议】不使用COMMAN
    publicclassCountSpliterReceiveFilterSession:AppSession<CountSpliterReceiveFilterSession>{publicoverridevoidSend(stringmessage){Console.WriteLine("发送消息:"+message);base.Send(message)......
  • C# SuperSocket 基础六【CountSpliterReceiveFilte-固定数量分隔符协议】使用COMMAND
    publicclassCountSpliterReceiveFilterSession:AppSession<CountSpliterReceiveFilterSession>{publicoverridevoidSend(stringmessage){Console.WriteLine("发送消息:"+message);base.Send(message)......
  • C# 使用SuperSocket的FixedHeaderReceiveFilter进行通信
    一、服务端publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){MyServerappServer=newMyServer();......
  • 一个整合性、功能丰富的.NET网络通信框架
    前言最近有不少同学问:.NET网络通信框架有什么好推荐的吗?今天大姚给大家分享一款基于ApacheLicense开源的一个整合性、功能丰富的.NET(包括C#、VB.Net、F#)网络通信框架:TouchSocket。特色功能一键解决TCP黏分包问题,提供协议模板,支持快速实现固定包头、固定长度、区间字符等数......
  • 网络协议基础(2):socket套接字及TCP、UDP的实现
    socket套接字及TCP、UDP的实现socket套接字socket的基本概念socket的类型Socket的工作流程Socket的编程接口(C++示例)1.创建Socket2.绑定地址3.监听连接4.接受连接5.连接到服务器6.发送数据7.接收数据8.关闭Socketsocket相关的结构体sockaddr结构体sockaddr......
  • C# UDP广播启动服务和客户端【Socket】
    服务端:Socketsocket=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//初始化一个Scoket协议IPEndPointiep=newIPEndPoint(IPAddress.Any,9095);//初始化一个侦听局域网内部所有IP和指定端口EndPointe......
  • 【接口】websocket
    背景HTTP(超文本传输协议)缺点:缺乏数据加密、身份验证和会话管理等安全特性;HTTP链接的半双工的,而且通信只能由客户端发起,服务端无法将数据主动推送给客户端HTTPS(安全超文本传输协议):为了解决HTTP的缺点,提出HTTPS,提供传输的安全性websocket:为了解决"HTTP链接的半双工的,而且通信只......
  • HTTP和HTTPS在网络通信安全中有什么区别
    HTTP和HTTPS是互联网上两种主要的通信协议,他们的区别有:1.安全性和加密;2.认证和信任度;3.搜索引擎优化(SEO);4.性能和速度;5.兼容性和配置;6.数据保护法规遵从性;7.应用场景。HTTP(超文本传输协议)是互联网的基础通信协议,但它在传输数据时不提供加密或安全保护。相比之下,HTTPS(安全的HTTP)为......