网络编程——断开和连接选项

1.优雅的断开套接字连接(shutdown代替close)
服务器输出流半关闭–客户端知道传输完成(接收到EOF结束信号)–

2.域名和网络地址

Domain name system——将域名转化为ip   作用:ip地址容易变,域名一般不变。
命令》nslookup  查看本机默认dns服务器  

在这里插入图片描述

3.套接字多种选项
setsockopt 与getsockopt

SOL_SOCKET  //socket类型(tcp\udp)
SOL_SNDBUF & SO_RCVBUF   //io缓冲区(大小)
SO_REUSEADDR (端口复用,服务器time-wait)
TCP_NODELAY (缓存发送-nagle算法)

SO_REUSEADDR ——TIME_WAIT
有一种情况:客户端连接服务端,服务端异常关掉,服务端这边会有time-wait导致新打开的服务端无法使用。(设置SO_REUSEADDR 为true即可解决)
客户端不会有这种情况:客户端和服务端连接状态中,先断开连接的套接字都要经历time-wait过程。客户端time-wait没事,客户端套接字的端口号是任意指定的,每次都是动态分配。
在这里插入图片描述

TCP_NODELAY
开启:一包一确认,确认了再发下一个。使用场景:一个块一个块发送,防止一点点一点点发送。
不开启:一直发,慢慢确认。使用场景:大数据量发送数据。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值