当前位置: 首页 > news >正文

4.1 网络基础之网络IO

一、编写基本服务程序流程

1、创建套接字

#include <sys/types.h>
#include <sys/socket.h>int socket(int domain, int type, int protocol);/*
* 参数domain通讯协议族:
* PF_INET       IPv4互联网协议族(常用)
* PF_INET6      IPv6互联网协议族
* PF_LOCAL      本地通信的协议族
* PF_PACKET     内核底层的协议族
* PF_IPX        IPX Novell协议族
* IPv6尚未普及,其它的不常用
*//*
* 参数type数据传输的类型:
* SOCK_STREAM    面向连接的socket   数据不会丢失、顺序不会错乱、双向通道
* SOCK_DGRAM     无连接的socket     数据可能会丢失、顺序可能会错乱、传输效率更高
*//*
* 参数protocol最终使用的协议:
* 在IPv4网络协议家族中:
* 数据传输方式为SOCK_STREAM的协议只有IPPROTO_TCP
* 数据传输方式为SOCK_DGRAM的协议只有IPPROTO_UDP
* 本参数也可以填0,编译器自动识别
*//*
* socket返回值:
* 成功返回一个有效的socket,失败返回-1,errno被设置
*/

2、端口复用

// 这个步骤非必须
int opt = 1;
unsigned int len = sizeof(opt);
setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &opt, len);

端口复用之 SO_REUSEADDR

http://www.lryc.cn/news/206231.html

相关文章:

  • [100天算法】-和为 K 的子数组(day 39)
  • Leo赠书活动-02期 【信息科技风险管理:合规管理、技术防控与数字化】
  • L2-026 小字辈 - java
  • 排序算法-堆积树排序法(HeapSort)
  • 名词解释 MongoDB
  • Look Back(cf div3 905)
  • Spring框架的发展历程
  • vue 级联查询5级--省/市/区/街道/社区
  • C++并发与多线程(8) | 互斥量
  • Power BI 傻瓜入门 3. 选择Power BI的版本
  • BadNets:基于数据投毒的模型后门攻击代码(Pytorch)以MNIST为例
  • freeRTOS内部机制——栈的作用
  • python 桌面软件开发-matplotlib画图鼠标缩放拖动
  • 【JavaScript基础】JavaScript头等函数的理解
  • 如何把项目上传到Gitee(详细教程)
  • Ubuntu挂载windows下的共享文件夹
  • 什么是WMS系统条码化管理
  • 【云原生之kubernetes实战】在k8s环境下部署moredoc文库系统
  • [Database] MySQL 8.x Window / Partition Function (窗口/分区函数)
  • openGauss Meetup(天津站)精彩回顾 | openGauss天津用户组正式成立
  • linux vim 删除多行
  • 低概率Bug,研发敷衍说复现不到
  • Web前端免费接入Microsoft Azure AI文本翻译,享每月2百万个字符的翻译
  • 1024 CSDN 程序员节-知存科技-基于存内计算芯片开发板验证语音识别
  • 【备考网络工程师】如何备考2023年网络工程师之错题集篇(3)
  • 密码学-SHA-1算法
  • Android View拖拽/拖放DragAndDrop自定义View.DragShadowBuilder,Kotlin(2)
  • 翻页视图ViewPager
  • 【可视化Java GUI程序设计教程】第4章 布局设计
  • Elasticsearch配置文件