社区
C#
帖子详情
tcpclient客户端如何知道服务端断了?
ad_jsjwhut
2011-11-30 09:29:27
服务端一直tcplistener,有客户端通过tcpclient连接就保持连接,如果在连接的过程中客户端断了,因为服务端一直在listen,所以只要客户端在上线,一下子就能连接,但是如果服务端断了,客户端不是一直connect,没办法知道服务端重新listen了,请问客户端如何判断服务端断开了,C# scoket编程,这个一直没解决
...全文
368
8
打赏
收藏
tcpclient客户端如何知道服务端断了?
服务端一直tcplistener,有客户端通过tcpclient连接就保持连接,如果在连接的过程中客户端断了,因为服务端一直在listen,所以只要客户端在上线,一下子就能连接,但是如果服务端断了,客户端不是一直connect,没办法知道服务端重新listen了,请问客户端如何判断服务端断开了,C# scoket编程,这个一直没解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
飞天凤凰601
2011-11-30
打赏
举报
回复
有个东西叫:心跳包
就是定时向服务器端发送指定数据,如果发送成功,则服务器未端;失败,则重新连接,如果连接不了,说明服务器关闭。
ad_jsjwhut
2011-11-30
打赏
举报
回复
[Quote=引用 2 楼 xingchen1008 的回复:]
你可以在客户端加上个小程序就是每隔多少秒去连接下服务端,然后判断服务端那边,如果在规定时间内,没有收到客户端的消息的话就是说明客户端已经断开
[/Quote]
有什么思路么,最好不要加timer控件,我考虑用receivetimeout,设定个时间,如果没有收到服务端定时发送的检查在线消息,就判定服务端断开,不知道这个思路怎么样,如果编程呢
bdmh
2011-11-30
打赏
举报
回复
加心跳
TNight
2011-11-30
打赏
举报
回复
你可以在客户端加上个小程序就是每隔多少秒去连接下服务端,然后判断服务端那边,如果在规定时间内,没有收到客户端的消息的话就是说明客户端已经断开
ad_jsjwhut
2011-11-30
打赏
举报
回复
google里面都是服务端如何判断客户端断开了,没有反过来的,请问该如何解决这个问题
wangyue4
2011-11-30
打赏
举报
回复
客户端tcp的话用tcpclient的socket对象调用receive函数,这个函数是阻塞接受。不管是客户端断开还是服务端断开连接,这个函数就会返回0,返回0就代表连接断开。
不用刻意使用心跳包去加大通讯量的。
qldsrx
2011-11-30
打赏
举报
回复
[Quote=引用 1 楼 ad_jsjwhut 的回复:]
google里面都是服务端如何判断客户端断开了,没有反过来的,请问该如何解决这个问题
[/Quote]
反过来一样的,TCP连接是对等连接,服务器和客户端的身份完全可以反过来。
我个人认为没必要刻意验证,只要检测在发送数据时,判断下发送是否成功即可,或者接收数据时,是否接收到数据(如果连接断开会立刻返回)。
Unity scoket 通信 包含
TCPClient
客户端
项目和TCPServer
服务端
项目亲测好用 优质资源!
Unity scoket 通信 包含
TCPClient
客户端
项目和TCPServer
服务端
项目亲测好用 优质资源! 两个项目都启动修改IP进行监听,通信。
C#
TcpClient
(
客户端
)_and_TcpServer(
服务端
).txt
TcpClient
(
客户端
) 和 TcpServer(
服务端
)代码示例 TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。 可使用
TcpClient
或 Socket 来连接 TcpListener。 可使用 IPEndPoint、本地 IP 地址及端口号或者仅使用端口号,来创建 TcpListener。 可以将本地 IP 地址指定为 Any,将本地端口号指定为 0(如果希望基础服务提供程序为您分配这些值)。 如果您选择这样做,可在连接套接字后使用 LocalEndpoint 属性来标识已指定的信息。使用 Start 方法,可开始侦听传入的连接请求。 Start 将对传入连接进行排队,直至您调用 Stop 方法或它已经完成 MaxConnections 排队为止。 可使用 AcceptSocket 或 Accept
TcpClient
从传入连接请求队列提取连接。 这两种方法将阻止。 如果要避免阻止,可首先使用 Pending 方法来确定队列中是否有可用的连接请求 ———————————————— 版权声明:本文为CSDN博主「小竹zz」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhujunxxxxx/article/details/44261497
【爱码农】C#网络编程
本教程讲解的是一个C_S模式开发的客户、服务器聊天程序,分成四个阶段:①Socket开发控制台程序②TcpListener、
TcpClient
开发控制台程序③C_S模式的多线程聊天程序④带数据库记录聊天信息的C_S多线程聊天程序。课程讲解中把客户、
服务端
分开编程,方便讲解调试过程中的每一个细节。把枯燥的网络理论知识充分渗透到编程实践中。讲解过程中随时切入细微入致的细节分析,让学习者听懂每一个细节、每一行代码。视频全部看完364分钟,分15个视频。
TcpClient
(
客户端
) and TcpServer(
服务端
)
C#:
TcpClient
(
客户端
) and TcpServer(
服务端
) 的实例
STM32CubeMX开发-STM32F407-ETH -
TCPclient
客户端
-程序源码
KEIL:MDK_ARM_5.32 MCU:STM32F407VET6 PHY:LAN8720A STM32F407开发板 为
TCPclient
客户端
,PC端 为 TCPserver
服务端
,相互之间的发送和接收实验。
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章