C# Socket 关闭服务,如何关闭当前已经连接的socket

问题描述

RT。采用C#求解决方案目前server的socket主动close之后,listening没了。但是还有2个ES状态。说明服务器只是关闭了监听,但是客户端的连接没有主动close。

解决方案

解决方案二:
在关闭窗体的时候就要判断是否连接,如果连接,关闭服务
解决方案三:
做个心跳机制,客户端隔断时间连接下服务器。
解决方案四:
privateboolConnect_Utils(){boolflag=true;try{if(serverProxy==null||serverProxy.State!=CommunicationState.Opened){NetTcpBindingbinding=newNetTcpBinding(SecurityMode.None);binding.Security.Message.ClientCredentialType=MessageCredentialType.Windows;binding.Security.Transport.ClientCredentialType=TcpClientCredentialType.Windows;binding.Security.Transport.ProtectionLevel=System.Net.Security.ProtectionLevel.EncryptAndSign;binding.TransferMode=TransferMode.Buffered;binding.TransactionFlow=false;binding.TransactionProtocol=TransactionProtocol.OleTransactions;binding.MaxBufferPoolSize=2147483647;binding.MaxBufferSize=2147483647;binding.MaxConnections=32;binding.MaxReceivedMessageSize=2147483647;binding.ReaderQuotas.MaxArrayLength=2147483647;stringaddr="net.tcp://192.168.1.2:9000/server";serverProxy=newServerProxy(newInstanceContext(this),binding,newEndpointAddress(addr));serverProxy.Open();//打开服务flag=true;}}catch(ExceptionEx){MessageBox.Show("连接服务器时发生错误"+Ex.Message,"连接提示",MessageBoxButtons.OK,MessageBoxIcon.Error);flag=false;}returnflag;}

以上为连接服务以下为关闭服务if(serverProxy==null||serverProxy.State!=CommunicationState.Opened){serverProxy.Close();}

解决方案五:

解决方案六:
可能我描述的有问题或不太清楚。我的意思是我是server端。Listen之后,一直在等待客户端连接(同步短连接)现在服务器在运行,我想手工停止server服务器,现在的程序是listen是停止了,客户端肯定是连接不上来了。但是之前已经连接的客户端,只要客户端没主动关闭,还是可以直接发送接收数据,因为连接的状态为ESTABLISHED状态。我的问题是服务器主动关闭后,要求lister停止,并关闭所有已经连接的客户端(服务器主动关闭客户端的连接)

时间: 2024-09-08 17:39:15

C# Socket 关闭服务,如何关闭当前已经连接的socket的相关文章

Java网络编程从入门到精通(27):关闭服务端连接

在客户端和服务端的数据交互完成后,一般需要关闭网络连接.对于服务端来说,需要关闭Socket和ServerSocket. 在关闭Socket后,客户端并不会马上感知自已的Socket已经关闭,也就是说,在服务端的Socket关闭后,客户端的Socket的isClosed和isConnected方法仍然会分别得到false和true.但对已关闭的Socket的输入输出流进行操作会抛出一个SocketException异常. 在关闭服务端的ServerSocket后,ServerSocket对象所绑

淘宝快速支付服务已关闭怎么回事?

  截至目前,登录手机淘宝购买彩票快速支付功能仍无法正常使用,并直接跳转至页面提示"淘宝快速支付服务已关闭",据了解,此情况已持续数小时. 支付宝解释称,原因是支付宝和淘宝彩票关于快速支付的协议到期了.这个续签就可以继续使用,稍后便可恢复.淘宝方面人士表示用户暂时可通过其他支付渠道进行彩票购买.

win7如何将磁盘碎片整理服务给关闭了

  win7如何将磁盘碎片整理服务给关闭了呢?下面就来说说手动关闭的方法,希望对大家能够带来帮助. 1.打开电脑之后,单击开始图标,然后打开控制面板; 2.点击控制面板里面的"管理工具"选项; 3.然后直接单击服务选项; 4.在服务选项里面寻找磁盘碎片整理服务; 5.找到之后直接右键点击属性,然后选择禁用. 6.上面的帮助都做完之后,就算是将磁盘碎片整理服务给关闭了.

win7系统打印机提示“打印服务已关闭”怎么办

  1.按下"Win+R"组合键,呼出运行,然后输入"services.msc"回车打开服务窗口; 2.然后找到print Splooer服务,右键点击,然后点击禁用; 3.打开计算机,依次打开"C盘"-"windows"-"system32",在该文件夹下找到"spoolsv.exe",并删除; 4.依次打开"C盘"-"WINDOWS"-&quo

百度网盘会关闭服务

  百度网盘会关闭服务 具体情况大家可以看看小编之前带来的"360云盘关闭是真的吗",关于关闭的原因,360云盘表示,部分不法分子利用360云盘存储传播非法文件.侵权盗版牟利.传播淫秽色情信息等违法犯罪行为屡有发生,严重侵犯正版企业的合法权益,更给社会带来了巨大的危害.使企业面临巨大的安全风险. 因此,360云盘决定停止个人云盘服务,在网盘存储.传播内容的合法性和安全性得到彻底解决之前不再考虑恢复,之后转型企业云服务. 但是目前这个说法并没有被广大网民接受,大家表示你只要关闭文件互传的

Windows Media Player网络共享服务怎么关闭?

  怎样关闭Windows media player网络共享服务.下面介绍关闭Windows media player网络共享服务的方法.供需要的朋友们参考使用(本文在Windows10-10130版系统下撰写). 查找系统中的Windows Media Player Network Sharing Service服务项 方法一: 1.右键点击系统桌面左下角开始,在右键菜单中左键点击:运行; 2.在打开的运行对话框中输入:services.msc,确定或者回车,打开本地服务窗口; 3.在本地服务

有酬工作,Domino服务异常关闭处理

问题描述 有酬工作,Domino服务异常关闭处理,具体联系QQ:18288522 解决方案 解决方案二:此问题处理了么?

socket异步 强迫关闭-Socket异步传输远程主机强迫关闭了一个现有的链接

问题描述 Socket异步传输远程主机强迫关闭了一个现有的链接 class AsyncProgram { static Thread thead = null; static Thread theadclient = null; static int port = 12345; static Socket server = null; static Socket client = null; static int buffersize = 40960000; static void Main()

[号外]Android Rom知名定制公司Cyanogen关闭服务!

 [号外]Android Rom知名定制公司Cyanogen关闭服务! 官网已经打不开了:https://www.cyanogenmod.org/ 公司首页:https://cyngn.com/ 最近2016-12-23日声明停止服务:https://cyngn.com/blog/cyanogen-services-shutting-down 新闻来源:http://www.forbes.com/sites/ianmorris/2016/12/25/cyanogen-wanted-to-ki