第4章 Linux网络编程 24.端口复用
目录
- 端口复用
- 查看网络相关信息的命令
端口复用
端口复用最常用的用途是:
防止服务器重启时之前绑定的端口还未释放 (2msl)
程序突然退出而系统没有释放端口
查看网络相关信息的命令
netstat
参数:
-a 所有的socket
-p 显示正在使用的socket的程序名称
-n 直接使用IP地址,而不通过域名服务器
主动断开服务器
然后断开客户端
这是端口就在2msl一直被占用了,用不了了,所以要端口复用。
#include <sys/types.h>
#include <sys/socket.h>
端口复用,就可以解决2msl某个端口一直被占用的问题
int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);参数:(unix编程第七章)-sockfd 要操作的文件描述符-level 级别- SOL_SOVKET(端口服用级别)- optname:选项的- SO_REUSEADDR- SO_REUSEPORT- optval 端口复用的值(整形)-1:可以复用-0:不可以复用-optlen:optval参数的大小
端口复用:设置的时机是在服务器绑定端口之前设置端口复用
setsockopt()
bind()
第4章 Linux网络编程 24.端口复用相关推荐
- Linux网络编程---I/O复用模型之epoll
https://blog.csdn.net/men_wen/article/details/53456474 Linux网络编程-I/O复用模型之epoll 1. epoll模型简介 epoll是Li ...
- Linux网络编程---I/O复用模型之poll
https://blog.csdn.net/men_wen/article/details/53456474 Linux网络编程-I/O复用模型之poll 1.函数poll poll系统调用和sele ...
- Linux网络编程---I/O复用模型之select
https://blog.csdn.net/men_wen/article/details/53456435 Linux网络编程-I/O复用模型之select 1. IO复用模型 IO复用能够预先告知 ...
- Linux高性能服务器编程 第5章 Linux网络编程基础API
5.1 socket 地址 API 现代CPU的累加器一次都能装载(至少)4 字节(这里考虑32位机,下同),即一个整 数.那么这4 字节在内存中排列的顺序将影响它被累加器装载成的整数的值.这就是字节 ...
- 【Linux网络编程】端口绑定问题
00. 目录 文章目录 00. 目录 01. 概述 02. 测试示例 03. 附录 01. 概述 所谓绑定(bind)是指别人连接我只能通过我所绑定的端口,相当于,我买了一个手机,别人要想联系我,必须 ...
- 第4章 Linux网络编程 22.多进程实现并发服务器、多线程实现并发服务器
目录 多线程实现并发服务器 多进程实现并发服务器 多线程实现并发服务器 server_thread.c #include <stdio.h> #include <arpa/inet. ...
- Linux网络编程——I/O复用之poll函数
一.回顾前面的select select优点: 目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点 select缺点: 1.每次调用 select(),都需要把 fd 集合从用户态拷贝到内核 ...
- Linux网络编程——I/O复用函数之epoll
https://blog.csdn.net/lianghe_work/article/details/46544567 一.epoll概述 epoll 是在 2.6 内核中提出的,是之前的 selec ...
- Linux网络编程——I/O复用之select详解
https://blog.csdn.net/lianghe_work/article/details/46506143 一.I/O复用概述 I/O复用概念: 解决进程或线程阻塞到某个 I/O 系统调用 ...
最新文章
- FreeSwitch 的初始化及其模块加载过程
- IOT(8)---LoRa vs NB-IoT:12个角度看哪个物联网标准更具优势?
- SSM中(Spring-SpringMVC-Mybatis)(二:整合)
- python芙蓉数用abs函数_Python调用OpenCV阈值化
- 不知道这十项Linux常识,就别说自己玩过Linux!
- 新生代民工 书籍推荐
- AE新知识-10月30日
- linux程序开发ide,LiteIDE 开发工具指南 (Go语言开发工具)
- 利用 UPnP 的反射攻击分析
- 调用微信接口实现微信授权登陆主体内容【code换取openid以及session_key】
- 怎么将计算机的触摸鼠标锁定,这4种方法可以轻松关闭笔记本锁定触控板
- 头歌java 实训 答案 代码 java入门
- 2020-11-05
- 我的世界热力膨胀JAVA_我的世界热力膨胀MOD矿物类型介绍
- ubuntu上使用certbot安装ssl证书到nginx
- 谷歌浏览器显示不安全内容
- 拥挤城市怎么在电脑上玩 拥挤城市电脑版玩法教程
- 如何使用aria2及webui-aria2下载百度云资源
- Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
- U-Boot 之零 源码文件、启动阶段(TPL、SPL)、FALCON、设备树