首页 > 其他分享 >socket 选项

socket 选项

时间:2023-02-27 19:45:33浏览次数:28  
标签:选项 socket linger int TCP close

介绍

#include <sys/types.h>         
#include <sys/socket.h>

int setsockopt(int sockfd, int level, int optname,
               const void *optval, socklen_t optlen);

功能:设置套接字可选项

参数:

  • sockfd:要设置的套接字
  • level:协议层,可选 SOL_SOCKET/IPPROTO_IP/IPPROTO_TCP
  • optname:要设置的选项名
  • optval:指向存放选项值的缓冲区
  • optlen:缓冲区长度

返回值:

  • 成功返回 0
  • 失败返回 -1,并设置 errno

简单使用

/*
	SO_LINGER 选项用于控制 close 系统调用在关闭 TCP 连接时的行为。
	默认情况下,用 close 系统调用关闭一个 socket 时,close 立即返回,
	TCP 模块负责把该 socket 对应的 TCP 发送缓冲区中残留的数据发送给对方。
*/

/*
	#include <sts/scoket.h>
	struct linger {
		int l_onoff;
		int l_linger;
	}
	
	当 l_onoff = 1,l_linger = 0。close 立即返回,TCP 模块将丢弃被关闭的 socket
	对应的 TCP 发送缓冲区中残留的数据,同时给对方发送一个复位报文段。给服务器提供了
	异常终止一个连接的方法
*/

struct linger tmp = {1, 0};
setsockopt(listenfd, SOL_SOCKET, SO_LINGER, &tmp, sizeof(tmp));

注意事项

标签:选项,socket,linger,int,TCP,close
From: https://www.cnblogs.com/cong0221/p/17161626.html

相关文章

  • java netty socket实例:报文长度+报文内容,springboot
    前言说实话,javanetty方面的资料不算多,尤其是自定义报文格式的,少之又少自己写了个简单的收发:报文长度+报文内容发送的话,没有写自动组装格式,自己看需求吧,需要的话,自己完......
  • nginx反向代理WebSocket
    1.nginx反向代理websocket原理2.nginx配置文件详解2.1map值映射2.2upstream2.3location3.nginx反向代理协议升级======================================......
  • 自定义Tab选项卡
    importandroid.app.TabActivity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.widget.*;importandroid.widget.TabHost.OnTabChangeListener;......
  • 在vue3+vite3中使用socket.io-client踩坑记录
    1版本问题服务端socket.io版本和client端一定要对应,否则会连接不上。前端封装业务逻辑之前,要去和后台首先确定下自己团队所需要采用的版本。2低版本socket.io-client和v......
  • 解决python 操作 hbase报错:TTransportException(type=4,message=’TSocket read 0 byt
    ```text#解决报错:hbase报错TTransportException(type=4,message=’TSocketread0bytes’)这种情况一般协议问题和服务端没开启,如果服务端是开启的,且正常的.那么考虑协......
  • 没有“Windows 沙盒”选项
    首先,Windows家庭版当前暂不支持Windows沙盒! 解决方法:http://www.studyofnet.com/698821509.html外网原文:https://www.deskmodder.de/blog/2019/04/20/windows-10-h......
  • websocket报错集锦-不断更新中
    问题1:Failedtoconstruct'WebSocket':AninsecureWebSocketconnectionmaynotbeinitiatedfromapageloadedoverHTTPS.问题描述MixedContent:Thepageat......
  • linux 中 sed命令中的q选项
     001、  https://blog.csdn.net/weixin_33838310/article/details/117348155  ......
  • HTML5的WebSocket使用
    index.html(客户端)1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8"/>5<metaname="viewport"content="width=device-width......
  • 一个简易socket通信结构
    服务端工作需要又需要用到socketTCP通讯,这么多年了,终于稍微能写点了。让我说其实也说不出个啥来,看了很多的异步后稍微对异步socket的导流endreceive后再beginreceive形......