首页 > 其他分享 >检查一个Socket是否可连接

检查一个Socket是否可连接

时间:2023-10-08 18:55:08浏览次数:34  
标签:false Socket 检查 连接 client return Blocking

       // 检查一个Socket是否可连接
        private bool IsSocketConnected(Socket client)
        {
            bool blockingState = client.Blocking;
            try
            {
                byte[] tmp = new byte[1];
                client.Blocking = false;
                client.Send(tmp, 0, 0);
                return false;
            }
            catch (SocketException e)
            {
                // 产生 10035 == WSAEWOULDBLOCK 错误,说明被阻止了,但是还是连接的
                if (e.NativeErrorCode.Equals(10035))
                    return false;
                else
                    return true;
            }
            finally
            {
                client.Blocking = blockingState;    // 恢复状态
            }
        }

标签:false,Socket,检查,连接,client,return,Blocking
From: https://www.cnblogs.com/walterwhite/p/17749882.html

相关文章

  • SQL的各种连接
    1createtablestudents(c_idint,c_namevarchar(20));2createtablesubjects(c_idint,c_subjectvarchar(20));34insertintostudentsvalues(1,'张三'),(2,'李四'),(3,'王五');--orcle不支持这种批量插入的写法5insertintosubjectsvalu......
  • Mysql 8.0 Navicat连接Mysql报错Authentication plugin ‘caching_sha2_password‘ ca
    1、终端登陆MySQL$mysql-uroot-ppassword#登入mysql2、修改账户密码加密规则并更新用户密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'123456'PASSWORDEXPIRENEVER;#修改加密规则ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_nat......
  • Centos系统安装MySQL数据库时,要以不安全的方式连接至 dev.mysql.com,使用“--no-check-
    解决:要以不安全的方式连接至dev.mysql.com,使用“--no-check-certificate” 问题:[root@192桌面]#wgethttps://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm--2023-10-0812:44:16--https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.......
  • 去掉Vue语法检查
    注释掉createLintingRule方法里面的东西constcreateLintingRule=()=>({//test:/\.(js|vue)$/,//loader:'eslint-loader',//enforce:'pre',//include:[resolve('src'),resolve('test')],//options:{/......
  • VSCode & Intellij IDEA CE 数据库连接
    VSCode&IntellijIDEACE数据库连接大概记一下现在正在用的几个工具/插件VSCodeVSCode里面的工具我下载了很多,如果只是链接MySQL的话,可能用JunHan这位大佬的MySQL就好了:使用这个插件直接打开.sql文件单击运行就能跑sql命令,而且跑起来也挺方便的不过我们项目......
  • 使用最短路径算法检查项目循环依赖
    最近项目组让我做一个自研的小工具,用来检查代码里的循环依赖,这里做下记录。思路由于工作是网络算路的,第一个想法就是通过路径计算来实现这个功能:把项目里test,resource等文件夹排除,剩下的每一个java文件可以算是对应一个类,把每个类看做是网络/路网里的节点,把类与类之间的依赖关......
  • springboot整合websocket
    引入依赖<!--webSocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>配置类/***websocket配置类*/@ConfigurationpublicclassWebS......
  • qt ui编辑器的按钮相应槽函数为什么没有connect连接
    Qt自动连接槽 AutomaticConnections其原理是由UIC在编译期自动生成连接信号槽的代码,仅限于.ui文件,如果是在.cpp中手写的ui还是要自己connect自动连接可以省去connect信号槽的那句,只需按照规则声明槽函数即可voidon_<objectname>_<signalname>(<signalparameters>);例如......
  • Pycharm连接远程服务器并实现远程调试
    Pycharm连接远程服务器并实现远程调试Pycharm连接远程服务器并实现远程调试连接远程服务器同步代码配置远程解释器进行调试连接远程服务器1、点击Tools(工具),点击部署Deployment(部署),点击Configuration(配置)2、新增一个SFTP协议的链接3、给链接命名4、配置服务器信息......
  • python · ssh · SQL | python 连接远程 SQL 数据库
    python连接本地SQL的教程存档。如果要连接远程的SQL数据库,需要先开一个ssh连接,在ssh连接里写pymysql的connect代码。代码如下:'''pipinstallpymysqlpipinstallsshtunnel'''importpymysqlimportpandasaspdfromsshtunnelimportSSHTunnelForward......