首页 > 编程语言 >tcp 远程服务器,C#编程学习之使用TcpClient / BeginConnect测试远程服务器tcp端口连接-网络教程与技术

tcp 远程服务器,C#编程学习之使用TcpClient / BeginConnect测试远程服务器tcp端口连接-网络教程与技术

时间:2024-02-01 09:58:54浏览次数:36  
标签:TcpClient 端口 tcp 使用 服务器 远程 BeginConnect

原文链接:hhttps://blog.csdn.net/weixin_36286567/article/details/119265325
有时候经常需要对一些服务器的端口进行tcp连接测试,通常使用“telnet IP地址 端口号”的方式即可,不能说这种方式不可取,只是使用起来比较麻烦,本着简单好用的目的,不如我们自己动手写一个测试tcp端口连接的小工具,顺便把代码和思路分享给大家,供需要的朋友借鉴。

 

使用C#测试tcp端口连接,我们肯定会想到TcpClient,然后使用tcpclient.Connect()方法,这种方法是可行的,但是有缺陷,是什么呢?使用tcpclient.Connect()方法,程序会等待该方法执行结束后才会继续执行下面的程序段,并且没有超时时间可设置,这样会大大影响程序执行的效率和时间。

如果我们使用tcpclient.BeginConnect()方法,执行效率就会提升很多,并且还可以设置程序超时时间,具体代码如下:

TcpClient tcp = new TcpClient();

var result = tcp.BeginConnect(IP或域名, 端口, null, null);

var sucess = result.AsyncWaitHandle.WaitOne(TimeSpan.FromSeconds(2));

if (!sucess)

{

}

else

{

}

tcp.EndConnect(result);

具体代码就是这样了,实现过程就是获取用于等待异步操作完成的WaitHandle,阻止当前线程,直到当前实例收到信号,同时使用TimeSpan指定时间间隔。

标签:TcpClient,端口,tcp,使用,服务器,远程,BeginConnect
From: https://www.cnblogs.com/Dongmy/p/18000587

相关文章

  • gitee 命令合集(从远程仓库拉取项目到推送项目到远程仓库)
    1、配置用户的信息gitconfig--globaluser.name'你的用户名'gitconfig--globaluser.email'你的邮箱'2、初始化Git仓库,生成一个.git目录,该目录包含了资源数据,且只会在仓库的根目录生成,并且会默认生成一个master分支gitinit3、克隆某个Git代码仓库,拉取项目,各......
  • Lazarus windows远程交叉调试Linux
    一、在目标机上安装gdbserver服务。运行gdbserver:2345你要调试的程序二、编译gdb(重点)1、下载gdb源,下载msys2-x86_64-20220118.exe。2、安装msys23、到Msys2安装目录下运行mingw64.exe4、安装以下包pacman-Syupacman-Smingw-w64-x86_64-toolchainpacman-Stexinfo......
  • 搭建Nginx服务器实现WEB服务
    一般搭建Web服务器,都会要求在该服务器上创建几个基于域名的虚拟主机,并且还需要使用DNS实现域名解析,下面内容我们就对这个问题来进行例题的演示。(用2个基于域名虚拟主机)希望能对各位it人士有所帮助,话不多说,我们直接进入主题!!!1.安装Nginxviminstallnginx2.创建所需的站点根目录,在根......
  • 教你在CentOS上搭建DNS服务器
    如果对您有帮助的话,请点赞收藏关注加评论谢谢!!!话不多说,直接进入主题~例题:搭建DNS服务器,DNS服务器域名为“自已姓名的完整汉语拼音.com”,要求为各服务器的域名提供正反向解析服务。启用bind-chroot功能,加固DNS服务器安全。1.搭建yum,安装BindChrootDNS服务器。yuminstallbind-chr......
  • K8s 部署 Baget (私有Nuget服务器)
    1.Baget介绍BaGet是一个构建于ASP.NETCore基础上的NuGetV3服务器的开源实现。2.有哪些Nuget服务器搭建方案NuGet.Server(Windows平台)、ProGet、MyGet3.编写yaml文件3.1deploymentapiVersion:apps/v1kind:Deploymentmetadata:name:bagetnamespace:de......
  • csharp 远程桌面登录 mstsc rdp文件
    RemoteDesktopConnection\src\LogInfo.csnamespaceRDP{classLogInfo{publicstringIpaddress{get;set;}publicstringUsername{get;set;}publicstringPassword{get;set;}}}RemoteDesktopConnection\src......
  • 幻兽帕鲁服务器游戏版本怎么升级更新?
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!幻兽帕鲁(MonsterHunter:World)是一款热门的多人在线游戏,玩家可以在服务器上与其他玩家一起探险、狩猎怪物。为了保持游戏的平衡性和提供更好的游戏体验,游戏开发者会定期发布更新版本。在本文中,我将为您详细介绍如何在幻兽帕鲁服务器上升级......
  • 服务器bond 与交换机对接
     一、各种模式优缺点 二、各模式与交换机的关系  三、各模式网卡汇聚模式简介及交换机侧配置四、服务器配置vi /etc/modprobe.d/modprobe.confaliasbond0bondingoptionsbond0miimon=100mode=6vi/etc/sysconfig/network-scripts/ifcfg-bond0 ......
  • 一行命令更新幻兽帕鲁服务器
    幻兽帕鲁在1月25日进行了一次更新,所以服务器也需要同步更新,才能继续游玩。Linux服务器更新1、使用如下命令,首先切换至root用户。sudosu2、运行如下命令,开始更新。⚠️注意:如果遇到“RetryFailed”等错误提示,请重新运行以上命令直到出现下图的内容:fullyinstalledwget-O......
  • 外汇资金盘HTFX与盈开量化科技内外勾结,篡改服务器数据,欺诈客户
    近期,神探不断收到各大投资人与技术大咖的投稿曝光:外汇资金盘HTFX与盈开量化内外勾结,通过篡改服务器数据,来实现其盈利的商业模式,存在欺诈客户的行为。早前神探已经多方位分析过券商HTFX的一些前世今生,并对此提出了几大疑点与判断。再次声明,文中所提出的所有资料皆是从世界各大权威性......