客户端把套接字设置完心跳包 接下来怎么用啊?

clown clown 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
BOOL bKeepAlive = TRUE;
int nRet=::setsockopt(sockClient,SOL_SOCKET,SO_KEEPALIVE,(char*)&bKeepAlive,sizeof(bKeepAlive));
if(nRet!=0)
{
cout<<WSAGetLastError<<endl;
return ;
}

//设置KeepAlive检测时间和次数
tcp_keepalive inKeepAlive = {0}; //输入参数
unsigned long ulInLen = sizeof(tcp_keepalive );

tcp_keepalive outKeepAlive = {0}; //输出参数
unsigned long ulOutLen = sizeof(tcp_keepalive );

unsigned long ulBytesReturn = 0;

//设置socket的keep alive为10秒,并且发送次数为3次
inKeepAlive.onoff = 1;
inKeepAlive.keepaliveinterval = 10000; //两次KeepAlive探测间的时间间隔
inKeepAlive.keepalivetime = 3; //开始首次KeepAlive探测前的TCP空闭时间

nRet=WSAIoctl(sockClient,
SIO_KEEPALIVE_VALS,
(LPVOID)&inKeepAlive,
ulInLen,
(LPVOID)&outKeepAlive,
ulOutLen,
&ulBytesReturn,
NULL,
NULL);
if(SOCKET_ERROR == nRet)
{
cout<<WSAGetLastError<<endl;
return;
}
以上把套接字设置成心跳
接下来 怎么实现10秒发送一次数据
直接调用send()就完了?
小弟头次接触这个,忘大哥们指教
...全文

相关推荐

C# 心跳包(服务端,客户端)

实操项目中切割下来的一部分,功能完整可实现,希望能帮到大家。

WZS9527

VC6 TCP 心跳包程序实战

本文还有配套的精品资源,点击获取 简介:TCP(传输控制协议)是一种可靠的传输层协议,心跳包是保持TCP连接活跃的重要机制。本程序针对VC6(Visual C++ 6.0)开发环境,帮助初学者理解TCP心跳包的实现原理。程序包含客户端和服务器端源代码,通过实际编码,用户可以掌握Winsock库的使用,实现心跳包发送、接收和异常处理,提升网络编程技能。 1. TCP 心...

闫泽华

VC环境下心跳包功能的实现教程

本文还有配套的精品资源,点击获取 简介:心跳包在网络通信中用于保持连接活跃,检测连接状态。本教程将在VC环境下编写控制台程序,通过套接字API实现心跳包的发送与接收。内容涵盖网络编程基础,包括套接字的创建、绑定、监听、连接、发送、接收心跳包以及异常处理。学习者将通过实践理解和掌握心跳包机制,为深入网络编程打下基础。 1. 心跳包概念与作用 心跳包是网络通信中...

Amarantine Lee

C#心跳包的实现

一个心跳包,检测用户在线的功能,相当于application的功能

小象的小窝

VC下实现的心跳包源码

VC下 控制台程序 本人正在学习通信编程 实现个简单的心跳包 目的在于理解心跳包的实现原理 谨适合初学者

clown
评论 5
收藏 已收藏
分享
返回顶部
clown
网络编程 18,356 成员 64,161 内容