C# socket编程时 如何实现server端关闭了能提示Client端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# socket编程时 如何实现server端关闭了能提示Client端相关的知识,希望对你有一定的参考价值。

主动发送关闭命令时 服务端需要维护一个client列表,关闭前发送命令。如果要求不是那么严格,并且建立了连接 服务端关闭的时候客户端会捕捉到一个 远程关闭异常,以此判断服务器关闭也可以。追问

Client端没有一个一直在运行的线程
这个 捕获远程关闭异常放在哪里? 怎么写这个函数?

追答

在通信过程中 比如文件传输时候 try 可以捕获异常,但是假如没有一个长连接的话还是要发送命令

参考技术A 客户端不是有个recv嘛,根据它的返回值就可以确定是否关闭客户端追问

客户端并没有开一个一直查询的线程啊 这么获取这个recv呢

追答

你木有开接收的线程?难道你的客户端只发送数据?根据send的返回值也可以确定连接是否断开,欠佳的是只有当你发送时才能确定是否已断开连接。

计算机网络|C语言Socket编程,实现两个程序间的通信

C语言Socket编程,实现两个程序间的通信

server和client通信流程图

在mooc上找到的,使用Socket客户端client和服务端server通信的流程图

以上是关于C# socket编程时 如何实现server端关闭了能提示Client端的主要内容,如果未能解决你的问题,请参考以下文章

C#版 Winform界面 Socket编程 Server服务器端

C# winForm Socket 多线程 编程 关闭问题

计算机网络|C语言Socket编程,实现两个程序间的通信

C# Socket编程基本的术语和概念

c# socket 通信时如何限速?

Socket网络编程(C#)----同步传输字符串