首页 > 其他分享 >socket

socket

时间:2024-08-30 22:14:12浏览次数:7  
标签:协议 socket int SOCK 接字 type

socket() 函数是用于创建套接字(Socket)的基础系统调用之一。套接字是网络通信的基本结构,用于在不同主机之间进行数据传输。socket() 函数返回一个文件描述符(file descriptor),这个描述符代表了新创建的套接字。

函数原型

cpp
复制代码
int socket(int domain, int type, int protocol);

参数说明

  1. domain(协议族):

    • 指定使用的通信协议族,也就是套接字的地址类型。常用的选项包括:
      • AF_INET: 表示使用 IPv4 地址。这个是最常用的协议族。
      • AF_INET6: 表示使用 IPv6 地址。
      • AF_UNIXAF_LOCAL: 用于本地通信(同一台主机上的进程间通信)。
  2. type(套接字类型):

    • 指定套接字的类型,决定了通信的行为方式。常用的选项包括:
      • SOCK_STREAM: 提供面向连接的稳定数据传输,即流式套接字。通常与 TCP 协议配合使用。
      • SOCK_DGRAM: 提供无连接的数据报服务,即数据报套接字。通常与 UDP 协议配合使用。
      • SOCK_RAW: 提供原始网络协议访问,通常用于需要直接访问 IP 层的应用。
  3. protocol(协议):

    • 指定使用的具体协议。通常在指定

      domain
      

      type
      

      后,这个参数可以设置为

      0
      

      ,表示使用默认协议。

      • IPPROTO_TCP: 用于 TCP 协议(当 typeSOCK_STREAM 时)。
      • IPPROTO_UDP: 用于 UDP 协议(当 typeSOCK_DGRAM 时)。
      • 0: 自动选择与 type 对应的默认协议。

标签:协议,socket,int,SOCK,接字,type
From: https://www.cnblogs.com/muko-aoi/p/18389602

相关文章

  • Unity+QT, 如何把Unity打包出的exe嵌入QT程序中,并且使用Socket进行交互
    文章目录概要前期准备QT与Unity的Socket通信实际应用场景总结概要在VR开发中,常常需要桌面窗口和VR头盔使用者进行交互。通过将Unity制作的VR程序嵌入到QT应用程序窗口中,并使用Socket进行通信,可以实现这种交互。本文将介绍如何实现这一功能。前期准......
  • 【GaussDB】应用报错 socket is not closed; Urgent packet sent to backend successf
    数据库原理差异在Oracle中连接会话默认永不超时,Mysql中连接会话默认8小时超时,而在GaussDB中,默认30min超时问题排查确认探活是否生效方式一:查询审计日志,可以看到会话退出方式为超时退出:selecttime,type,result,client_conninfo,detail_infofrompg_query_audit('2023-06-06......
  • libwebsocket demo以及遇到的坑。
    借鉴的 https://blog.csdn.net/qq_19004627/article/details/88737411坑1:openssl报错:ipaddressmismatch(preverify_ok=0;err=64;depth=0),不确定是不是自己生成的证书在无网情况下是不是不可用(开发电脑无法连互联网),暂时屏蔽了openssl相关的代码。坑2:这个文章的client的代码中......
  • EventSource与WebSocket的区别
     EventSource和WebSocket是两种不同的技术,用于在客户端(通常是浏览器)和服务器之间实现实时通信。 尽管它们都可以用于推送实时数据,但它们有着不同的特性和适用场景。以下是它们的主要区别:1.通信方式EventSource(SSE-Server-SentEvents):单向通信:EventSource仅......
  • 实现一个通过调用openai4.0的智能聊天系统,支持上传图片(这里是通过websocket返回流式效
    <template><divclass="chatInfor"><divclass="chatInfor-content"><el-scrollbarheight="97%"id="chatBox"ref="scrollbarRef"v-loading="loading"wi......
  • socket与TCP/IP区别
    一、socket:1、准确表述:socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。2、详细介绍(1)套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含......
  • 【Linux网络编程】基于 EPOLL 的 SOCKET 通信
    【Linux网络编程】基于EPOLL的SOCKET通信epoller.h#ifndefEPOLLER_H#defineEPOLLER_H#include<sys/epoll.h>#include<fcntl.h>#include<unistd.h>#include<assert.h>#include<errno.h>#include<vector>classEpoller{publ......
  • Java 入门指南:Java Socket 网络通信编程
    SocketSocket(套接字)是用于网络通信的编程接口、网络通信的基础,通过它可以实现不同计算机之间的数据传输,应用程序可以通过它发送或接收数据;就像操作文件那样可以打开、读写和关闭。它提供了一种机制,使得计算机之间可以进行数据的发送和接收。套接字允许应用程序将I/O应用......
  • socket,TCP/IP的理解
    socket,TCP/IP的理解TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(TransmissionControlProtocol/InternetProtocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议......
  • SOCKET和MODBUS的区别
    SOCKET和MODBUS的区别  Socket和Modbus是两种常用的网络协议,它们在网络通信中发挥着重要作用。这两种协议有着许多共同的特征,但也存在一些显著差异。本文将介绍Socket和Modbus协议的基本概念,以及它们之间的区别。Socket协议  Socket是一种用于实现网络通信的应用层协议......