socket学习
来源:互联网 发布:歼20和歼10对比,知乎 编辑:程序博客网 时间:2024/05/16 15:50
1、TCP服务器端依次调用socket()、bind()、listen()之后,就会监听指定的socket地址了。TCP客户端依次调用socket()、connect()之后就想TCP服务器发送了一个连接请求。
TCP服务器监听到这个请求之后,就会调用accept()函数取接收请求,这样连接就建立好了。之后就可以开始网络I/O操作了,即类同于普通文件的读写I/O操作。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
accept函数的第一个参数为服务器的socket描述字,第二个参数为指向struct sockaddr *的指针,用于返回客户端的协议地址,第三个参数为协议地址的长度。如果accpet成功,
那么其返回值是由内核自动生成的一个全新的描述字,代表与返回客户的TCP连接。
注意:accept的第一个参数为服务器的socket描述字,是服务器开始调用socket()函数生成的,称为监听socket描述字;而accept函数返回的是已连接的socket描述字。一个服务
器通常通常仅仅只创建一个监听socket描述字,它在该服务器的生命周期内一直存在。内核为每个由服务器进程接受的客户连接创建了一个已连接socket描述字,当服务器完成了
对某个客户的服务,相应的已连接socket描述字就被关闭。
阅读全文
0 0
- Socket学习-Socket基础
- Socket 学习
- socket 学习
- Socket 学习
- socket 学习
- socket学习
- socket学习
- socket学习
- socket学习
- Socket 学习
- socket学习
- socket学习
- socket学习
- Socket学习 - 开启Socket学习之旅
- socket学习笔记
- SOCKET基础学习笔记
- c++学习笔记--socket
- Socket学习笔记
- ansible 可以登入,执行不了命令
- target runtime com.genuitec.runtime.generic.j2ee13 is not defined
- JAVA
- 纯javascript仿网易左右轮播图效果
- UE4——风铃、破碎、Bsp画刷
- socket学习
- p-value
- mesh
- C#RichTextBox与TextBox换行区别
- TTL和RS232之间的详细对比<转>
- HTTP请求错误大全总结
- vue踩坑系列——计算属性
- shell中各种括号的作用()、(())、[]、[[]]、{}
- 我的第一个编程