如何停止Socket的监听,断开已有的客户端链接?

问题描述

做了个server端,发现监听后停止不了,调用了socket.close后也不行客户端依然可以发送数据过来,新的客户端也依然可以接进来,这是怎么回事?参考了几个网上的例子也没用。

解决方案

解决方案二:
lz使用的tcpserver还是直接封装的socket其实要断开所有连接,应该在accept环节做文章只要accept被禁了,客户端是连不进来的
解决方案三:
1、对Accept所在线程直接用Abort()2、Socket对象直接Dispose()
解决方案四:
引用1楼xian_wwq的回复:

lz使用的tcpserver还是直接封装的socket其实要断开所有连接,应该在accept环节做文章只要accept被禁了,客户端是连不进来的

我用的是别人封装好的一个例子好像应该是叫做Anync的吧
解决方案五:
使用短连接,在accept线程上设置一个断开的变量,如果断开连接了,就不再accept

时间: 2024-11-30 01:48:49

如何停止Socket的监听,断开已有的客户端链接?的相关文章

socket服务器多网卡监听INADDR_ANY,一个客户端跟其中一块网卡同网段,有时连接不成功

问题描述 socket服务器多网卡监听INADDR_ANY,一个客户端跟其中一块网卡同网段,有时连接不成功 我用笔记本建一个socket服务器,笔记本的有线网卡地址是192.168.127.2,再用笔记本发wifi,wifi网卡地址是192.168.137.1,然后监听ServerAddress.sin_addr.s_addr = htonl(INADDR_ANY);我用eclipse开Android虚拟机用socket连接192.168.137.1这个地址是成功的,但是把apk装到我手机,手机

函数-nodejs socket删除监听

问题描述 nodejs socket删除监听 比如我.on('data', function (data) {} 我想把这个on 'data'事件删除怎么写? 解决方案 Socket监听

php Socket 创建 监听等实例

$ip="127.0.0.1";          //定义ip地址 $port=1000;           //定义端口 $socket=socket_create(af_inet,sock_stream,sol_tcp);  //创建socket $bind=socket_bind($socket,$ip,$prot);      //绑定一个socket $listen=socket_listen($socket);        //监听socket $msg=socket

奥巴马称NAS将停止大范围监听行为

网易科技讯 1月18日消息,据国外媒体报道,美国总统奥巴马周五发表演讲称,政府将停止大范围收集美国人的电话通话信息.奥巴马此次提出的整改方案将影响到美国的情报工作,而该国情报机构的监视行为已经在全球范围内遭到了抨击.尽管奥巴马承诺会继续对情报工作进行检查,但监视活动中的很多内容都没有变化.另外,奥巴马的整改 意见还需经过国会讨论通过.奥巴马是在周五的演讲中公布了整改方案,该方案的反响不一,可能会引起情报官员以及国会中支持监听行为议员的反对.奥巴马在方案中指出,美国政府不会再在美国国安局(NSA)

请问服务端rest api怎样实现监听接收到来自客户端的消息

问题描述 现在有个场景应用如下:1.客户端app发送消息后需要在服务端接收到消息然后,通过服务端内部业务逻辑流程处理后向该客户端做响应发送消息处理.我看了下目前服务端的rest api服务接口只有发送消息的接口,请问是否有接收消息的接口,如果没有,要怎么实现这个场景应用?rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接口??rest接口是哪个接

c#socket 广域网服务器监听地址问题

问题描述 请问广域网中c#socket服务器端监听地址和端口怎么写?仍然是127.0.0.1吗?客户端怎么写呢?假设我服务器端PC是连在一个路由器A上的电脑,服务器端PC分配的路由器A地址为192.168.1.114,路由器A分配到的公网地址是自动获取的为172.16.7.218,网关1.1.1.2,客户端的电脑是链接的另一个路由器B,客户端PC分配的路由器B地址为192.168.1.3,路由器B获取的公网地址为134.122.5.23,网关未知,两个路由器不在一个网络内.请问这时候写C#soc

监听服务管理

如果你想管理(启动.关闭等)ORACLE数据库的监听服务,在Windows/Linux平台,你都可以通过lsnrctl命令来实现,下面 我们主要讲一下如何用lsnrctl命令来管理监听服务(我在两台数据库(不同平台.不同版本)分别操作,暂且叫为服务器A. 服务器B): 1:查看服务监听命令的详细帮助信息 服务器A:Red Hat Enterprise Linux Server release 6.0 (Santiago) ORACLE 10 [oracle@DB-Server ~]$ lsnrc

监听服务管理(转)

如果你想管理(启动.关闭等)ORACLE数据库的监听服务,在Windows/Linux平台,你都可以通过lsnrctl命令来实现,下面 我们主要讲一下如何用lsnrctl命令来管理监听服务(我在两台数据库(不同平台.不同版本)分别操作,暂且叫为服务器A. 服务器B): 1:查看服务监听命令的详细帮助信息 服务器A:Red Hat Enterprise Linux Server release 6.0 (Santiago) ORACLE 10 [oracle@DB-Server ~]$ lsnrc

Oracle 11g RAC 环境下单实例非缺省监听及端口配置

      如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Oracle 11g RAC环境中,对于集群监听器的配置由grid用户来接管了.基于这种情形的单实例非缺省监听及端口该如何配置呢?本文给出了解决方案,并且使用了静态及动态两种注册方法.              关于单实例下非缺省监听及端口的配置可以参考下面的文章.实际上参照下列文章依旧可以完成