Socket编程 106个算法 Servlet编程 集群部署 服务器部署

参考地址
实战地址

1.网络中进程之间如何通信 ——Socket

在本地可以通过进程PID来唯一标识一个进程,
在本地中利用三元组(ip地址,协议,端口)标识网络进程

2.什么是Socket

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,
都可以用“打开open –> 读写write/read –> 关闭close”模式来操作

使用TCP/IP协议的应用程序通常采用应用编程接口:UNIX BSD的套接字(即socket)

3、基本操作函数

1.创建Socket
int socket(int domain, int type, int protocol);

创建一个socket后,返回的socket描述字存在于协议族(第一个参数,但没有具体的地址;bind函数就是给socket在协议族赋值一个地址)

2.赋值地址
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

3.监听/连接请求
int listen(int sockfd, int backlog);
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

4.接收请求
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

5.读写
read()/write()
recv()/send()
readv()/writev()
recvmsg()/sendmsg() 推荐
recvfrom()/sendto()

6.关闭
int close(int fd);

4、TCP的三次握手建立连接详解

客户端发送请求——服务端响应请求——客户端确认请求

5、TCP的四次握手释放连接详解

某个应用进程首先调用close主动关闭连接,这时TCP发送一个FIN M;

另一端接收到FIN M之后,执行被动关闭,对这个FIN进行确认。它的接收也作为文件结束符传递给应用进程,因为FIN的接收意味着应用进程在相应的连接上再也接收不到额外数据;

一段时间之后,接收到文件结束符的应用进程调用close关闭它的socket。这导致它的TCP也发送一个FIN N;

接收到这个FIN的源发送端TCP对它进行确认。

在这里插入图片描述
服务端
1、初始化Windows Socket库。
2、创建Socket。
3、绑定Socket。
4、监听。
5、Accept。
6、接收、发送数据。
客户端
1、初始化Windows Socket库。
2、创建Socket。
3、连接Socket。
4、接收、发送数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘然生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值