socket的相关操作
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1.创建socket:所有的东西在UNIX都是文件socket系统调用可创建一个socketint socket (int domain, int type, int protocol);d
千家信息网最后更新 2025年12月02日socket的相关操作
1.创建socket:所有的东西在UNIX都是文件socket系统调用可创建一个socketint socket (int domain, int type, int protocol);domain:告诉系统使用那个底层协议族type:指定服务类型1.1服务类型有SOCK_STREAM和SOCK_UGRAM(数据报)1.内核在2.16.17开始,type可以接逻辑与的参数SOCK_NONBLOCK和SOCK_CLOEXEC来表示soocket是否非阻塞1.3protocol参数在前两个参数的下,在选择一个具体的协议调用结果:返回一个socket文件描述符,失败返回-1并且设置errno2.命名socket创建的时候,我们只是指定了地址族,但是未指定使用具体的那个socket地址讲一个socket与socket地址绑定称为socket命名服务器需要命名socket,客户端不需要2.1int bind(int sockfd,const struct sockaddr * my_addr,socklen_t addrlen);bind 成功返回0,失败返回-1并设置errno
2.2 常见的失败有EACCES:被绑定的地址是受保护的,仅仅是超级用户可以访问
EADDRINUSE:被绑定的地址正在使用
3.监听socket、
创建和命名后,是不能直接被客户端访问,需要创建一个监听队列来存放待处理的客户连接
3.1 int listen(int sockfd, int backlog);
backlog参数提示内核监听队列的最大长度
超过之后,就不再受理客户连接
错误消息是ECONNREFUSED
listen唱功返回0,失败返回-1并且设置errno
完整的连接只是backlog+1 个
4.接受连接
int accept(int sockfd,struct sockaddr addr,socklen_t addrlen)
问题:如果有个客户端请求出现网络异常或者掉线,会怎样?
答案:accept只是从监听队列取出来连接,不论连接出于什么状态,更不会关心网络变化
地址
客户
参数
监听
客户端
队列
服务
内核
只是
文件
类型
系统
网络
最大
成功
东西
两个
唱功
常见
底层
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
魔兽世界 回音山服务器
网络安全知识要点200字
网络安全ctf是啥
计算机网络技术学数学么
千兆服务器的吞吐量是多少
仓库库存管理数据库模型
重庆迅狮网络技术有限公司
我的世界服务器无管理咋变创造
数据库查询时间的条件查询
四川阆中网络安全宣传周
泗洪网络安全大队电话
新一代信息网络安全支持通信方式
行业数据分析软件开发
软件开发去哪里培训好
无锡交易软件开发报价
信誉楼抢卷服务器
在数据库安全中角色是
标准2U服务器长度
东港互联网科技
ar与哪种软件开发有联系
不上数据库的期刊查重
新能源汽车大数据库
网络安全审计发展趋势特征
未能保存本地策略数据库
网络技术人才工资待遇
部署本地服务器
汕头智能软件开发设计
什么是软件开发三权分立
山大地伟软件开发缪磊
说说对网络安全法的认识