社区
网络编程
帖子详情
请教个小问题!关于如何测试某个socket是否处在连接状态?我给出一个笨方法,等待建议
lizhenzhou
2005-02-24 04:21:58
我是这样做的,可以吗?有什么更好的方法测试socket是否好用!多谢,大家!
while(1)
{
iRet = send(ServerSocket,"",0,0);
if(iRet == SOCKET_ERROR)
{
连接socket
}
else
{
通过socket,发送message
}
}
...全文
261
16
打赏
收藏
请教个小问题!关于如何测试某个socket是否处在连接状态?我给出一个笨方法,等待建议
我是这样做的,可以吗?有什么更好的方法测试socket是否好用!多谢,大家! while(1) { iRet = send(ServerSocket,"",0,0); if(iRet == SOCKET_ERROR) { 连接socket } else { 通过socket,发送message } }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lizhenzhou
2005-03-03
打赏
举报
回复
感谢各位,这个问题是初学者很容易碰到的问题啊!
现在boss又在让我发文件啦!困难啊。
我用了2个socket,一个接受文件传输命令,一个接收文件数据。文件数据先发文件属性,再发文件内容,32k一发,这样做可以么
flight_lcf
2005-03-02
打赏
举报
回复
粘包:在每包加入自定义格式,包括长度等等,在解包时,按长度进行读取,循环读取粘到一起的多包不就可以了吗?比如接收到包长为100,是由二包组成,包一为40,包二为60,每包前都有本包长度,这样还解析不出来吗?
明天去抢劫
2005-03-02
打赏
举报
回复
BOOL CSockThread::IsConnected(SOCKET s)
{
int nRet = 0;
struct fd_set Fd_Recv;
struct timeval Time_Recv;
memset(&Fd_Recv, 0, sizeof(struct fd_set));
FD_CLR(s, &Fd_Recv);
FD_SET(s, &Fd_Recv);
Time_Recv.tv_sec = 0;
Time_Recv.tv_usec = 0;
nRet = select(s, &Fd_Recv, NULL, NULL, &Time_Recv);
return (nRet == 0);
}
Practise_Think
2005-03-01
打赏
举报
回复
select 模型也可以用心跳包的!!
lizhenzhou
2005-03-01
打赏
举报
回复
谢谢各位参与,我这样做占用系统资源很大,不要这样做哦!另外一个问题就是,即使在每个包加头,加check,也是会有粘包的问题。
还定时发吧检测连接好。
socket怎么不提供一个检测连接状态的API呢!
谁给Gates打个电话,叫他给一个
zdleek
2005-02-28
打赏
举报
回复
如果发心跳包 通常需要对数据进行编码 就要要规定包的格式
pp_hotel
2005-02-28
打赏
举报
回复
select模型
gzqreder
2005-02-28
打赏
举报
回复
mark,向高人学习
jun_01
2005-02-28
打赏
举报
回复
每个包头都要加长度啊,这样就不怕粘包了
lizhenzhou
2005-02-28
打赏
举报
回复
select模型,怎么可以测试连接状态。多多解释阿
hxzb7215191
2005-02-25
打赏
举报
回复
关注..
的确,如果发心跳包,也会和我们的数据包弄到一块.
这个要如何区别呢?
lizhenzhou
2005-02-25
打赏
举报
回复
谢谢各位!
再问,如果短时间内不断发送数据包,会和正常有意义的数据包连在一起,造成“粘包”,向我现在这样发送空数据包可以吗?send(socketID,“”,0,0);
clovexmu
2005-02-24
打赏
举报
回复
每隔一段时间客户端向服务器端发送一个数据包,如果服务器在给定时间内检测不到这个数据包,则认为网络超时。
TCP/ip协议本身并没有进行检测网络是否保持连接的机制,所以需要在应用层自己写代码检验。
gdy119
2005-02-24
打赏
举报
回复
心跳包,也是发送数据包,是c/s双方都在指定的时间内
互相发送数据报,验证网络是否保持连接
lizhenzhou
2005-02-24
打赏
举报
回复
心跳包,是什么意思啊?请fisker0303解释阿,多谢
菲斯可儿
2005-02-24
打赏
举报
回复
可以用发心跳包的方式。
TCP基础详解:三次握手、四次挥手相关
原文链接:吊打面试官!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题_小林coding-CSDN博客 转载只是为了自己做一些批注,方便记忆。 文章目录前言正文01 TCP 基本认识02 TCP
连接
建立03 TCP
连接
断开04
Socket
编程巨人的肩膀唠叨唠叨读者问答 前言 关于 TCP 三次握手和四次挥手的面试题型: TCP 基本认识 TCP
连接
建立 TCP
连接
断开
Socket
编程 PS:本次文章不涉及 TCP 流量控制、拥塞控制、可靠性传输等方面知
计网协议总结
文章目录网络层IP地址和硬件地址ARP协议(地址解析协议)IP数据报ICMP报文ICMP差错报文ICMP询问报文ICMP的应用-PING路由选择协议内部网关协议RIP协议OSPF协议外部网关协议运输层进程间通信等概念用户数据报协议UDP特点首部格式传输控制协议TCP特点
连接
停止
等待
协议首部格式TCP可靠传输的实现滑动窗口流量控制拥塞控制
连接
管理 这篇文章主要是为了面试整理的,不
建议
系统学习时看 网络层 IP地址和硬件地址 物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种
中兴面试题
1>某人在某个市场某个商家买了某台电脑,请用你熟悉的计算机语言表达出里面的关系. 其中有商家类,买家类,商品类。还要有买
方法
,卖
方法
。 2>
一个
完整的单例模式 3>曹操南下攻打刘备,刘备派关羽守锦州,关羽派张飞去守城门。刘备又派诸葛亮去向孙权求援。孙权派兵攻打曹操! 请画出UML图 2006年12月中兴在我们学校的笔试,最后的大题 (其实这些大公司的笔试不难,也不就是如此
中兴笔试与面试经验总结
1>某人在某个市场某个商家买了某台电脑,请用你熟悉的计算机语言表达出里面的关系. 其中有商家类,买家类,商品类。还要有买
方法
,卖
方法
。 2>
一个
完整的单例模式 3>曹操南下攻打刘备,刘备派关羽守锦州,关羽派张飞去守城门。刘备又派诸葛亮去向孙权求援。孙权派兵攻打曹操! 请画出UML图 2006年12月中兴在我们学校的笔试,最后的大题 (其实这些大公司的笔试不难,也不就是如此
BIOS工程师需要掌握的知识
素 质 要 求 强烈的责任心和敬业精神 项目的BIOS工作,与独立的软件工作有
一个
重要的区别就是,BIOS工作配合硬件、电源、Layout、
测试
、EMI、
测试
等部分紧密工作,如果由于BIOS的Delay,那么可能造成这个项目的严重Delay,这样不但拖住产品上市,而且拖住整个项目的资源,造成资源的严重浪费。所以,BIOS工程师必须有十分强烈的时间观念,这种的较强的时间观念不仅仅表现在整个项目...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章