首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TCP连接创建和关闭事件挂钩

TCP连接创建和关闭事件挂钩
EN

Stack Overflow用户
提问于 2010-04-14 10:44:32
回答 2查看 1.5K关注 0票数 1

C#提供了哪些帮助类来监控操作系统上的所有TCP连接。一段示例代码也将不胜感激。

注意:最初的目的是在Windows上监控这一点,但如果在其他使用.Net内核的操作系统上也能做到这一点就更好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-14 15:03:35

假设您想要监视机器上的TCP,您可以使用System.Net.NetworkInformation.GetActiveTcpConnections,它将为您提供TCP连接的列表以及每个连接的当前状态。您可以在常规计时器上调用它来获取套接字的更新状态。

我更熟悉用于此目的的Win32 API,例如GetTcpTable和文档较少的GetTcpTableEx,后者还提供拥有本地端点的进程的进程ID。因此,上面的内容可能并不完全符合我所认为的功能:)

当然,如果您需要在tcp套接字创建之前或之后立即得到通知,或者它的状态发生了变化,那么不幸的是,这将需要一个不能用.NET编写的内核模式驱动程序。

票数 4
EN

Stack Overflow用户

发布于 2012-02-23 15:51:41

如果你真的需要一种基于事件的机制,windows的事件跟踪是个不错的选择。既然你说这只是一个偏好:)你最好用windows api (c/c++)来写这篇文章。

http://msdn.microsoft.com/en-us/library/aa964766(v=vs.85).aspx

从.NET 3.5开始,可以使用System.Diagnostics.Eventing名称空间通过.NET访问部分事件跟踪。据我所知,这在.NET 4.0中已经得到了改进。我自己还没有调查过这个问题,所以我不知道TCP连接检测是否可行。

我确信你可以用windows api和ETW做任何你想做的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2636682

复制
相关文章
如何在技术和业务中保持平衡?
如果时间退回到十多年以前,新兴互联网公司的技术人员几乎都是从「业务开发」开始自己的职业生涯的。然而到了今天,不知道你有没有发现,业务开发和纯技术的开发已经有了明显的分野。
木东居士
2020/02/21
1.5K0
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/28
4370
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/02/26
4420
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/18
7340
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/01/25
4920
如何在基于Bytom开发过程中使用Bigchaindb
基于 Webpack 提升构建速度和保证构建质量详解
有一个很简单的划分方式,就是以构建(build)为分界线,分成前向治理和后向治理:
winty
2021/05/18
7090
基于 Webpack 提升构建速度和保证构建质量详解
ServiceOps:在DevOps中平衡速度和风险
CrowdStrike 的停机事件突出了当今业务运营的互联性,其中单个错误可能会影响许多组织和人员。CrowdStrike发生的事件 可能会发生在任何公司,即使是那些拥有良好变更控制和发布实践的公司,尤其是在组织中不同的开发团队采用不同的发布实践来加速软件交付时。缺乏统一的软件发布方法会增加引入错误或性能问题的风险。
云云众生s
2024/08/25
1100
ServiceOps:在DevOps中平衡速度和风险
敏捷过程中如何保证代码质量
本文目录: 一、为什么要做代码质量分析 二、常见的代码质量分析工具 三、DevOps平台中的代码质量分析 四、DevOps平台中如何为代码质量提供保障 一、为什么要做代码质量分析 在软件开发过程中,当
yuanyi928
2018/04/02
2K0
敏捷过程中如何保证代码质量
如何在开发生命周期之初改善软件质量
先人一步的企业正开始采用安全编程方法和工具,在软件开发生命周期的早期阶段处理安全问题。MaaS360 by Fiberlink公司的信息安全官David Lingenfelter说:“如果企业组织在软
静一
2018/03/22
9970
如何在开发生命周期之初改善软件质量
QUIC 如何在速度和安全性方面取代 TCP?
原文链接:How QUIC Is Displacing TCP for Speed and Security
萝卜要努力
2025/03/07
1080
QUIC 如何在速度和安全性方面取代 TCP?
如何平衡研发与开发
对于程序员来讲,很多时候会纠结一个问题,我做了这么多项目,除了上线了产品,自己的逻辑、对产品的设计进步了哪些,这一点对前端、后端其实都是一样的具有迷惑性。
RobinsonZhang
2018/08/28
5280
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
支撑影视人像抠图、医疗影像分析、自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术。相比目标检测、图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不可替代,也是智能视觉算法工程师拥有关键核心竞争力的关键!
计算机视觉
2022/05/24
1.6K0
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
如何在序列标注过程中打标?
英文打标,token可以是一个单词(e.g. awesome),也可以是一个字符(e.g. a)。
伊泽瑞尔
2022/06/01
3610
如何在序列标注过程中打标?
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
一些用户已经注意到Elasticsearch 8.6、8.7 和 8.8 在很多不同类型数据写入时速度都获得了可观的提升,从简单的Keywords到复杂的KNN向量,再到一些负载比较重的写入处理管道都是这样。写入速度涉及到很多方面:运行写入处理管道、反转内存中的数据、刷新段、合并段,所有这些通常都需要花费不可忽略的时间。幸运的是,我们在所有这些领域都进行了改进,这为端到端的写入速度带来了很不错的提升。例如,在我们的基准测试里面,8.8比8.6写入速度提升了13%,这个基准测试模拟了真实的日志写入场景,其中包含了多种数据集、写入处理管道等等。请参见下图,您可以看到在这段时间内,实施了这些优化措施后写入速率从 ~22.5k docs/s 提升到了 ~25.5k docs/s。
点火三周
2023/07/11
1.3K0
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
企业如何在采购过程中做好成本控制?
学会降低成本是有效采购的其中一个重要方面。单是这个因素,就能决定是几乎没有盈利,还是大赚一笔。但是在降低成本的时候,企业要牢记一点——不能牺牲质量。降低成本很重要,但前提是保证质量,企业的供应品需要始终保持足够好的质量,而且需要按时交付。
数商云市场营销总监
2022/03/16
7320
在网络端口扫描期间寻找速度和准确度之间的平衡点
侦察是每个bug bounty或渗透测试中最为重要的阶段之一。侦察工作做得到不到位,可能会对最终的结果产生直接影响。侦察可以分为两类:即主动和被动侦察。在主动侦察中端口扫描是最常用的方法之一。通过端口扫描渗透测试人员或漏洞猎人可以确定在目标主机或网络上打开的端口,以及识别在这些端口上运行的服务。
FB客服
2019/08/30
1.8K0
在网络端口扫描期间寻找速度和准确度之间的平衡点
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
在网络通信中,数据序列化是将对象状态转换为可存储或可传输的形式的过程,这对于TCP网络传输尤为关键。在项目中,当需要处理几十万条数据的传输时,传统的Json序列化方式由于其冗余的字段名和字符串格式,导致了二进制包体积庞大,且序列化与反序列化的效率低下。为了解决这些问题,我考虑采用更加高效的序列化方法,以减少包大小并提升处理速度。本文将探讨自定义二进制序列化、BinaryWriter/BinaryReader、MessagePack[1]和ProtoBuf[2]等4种序列化方法,并通过比较它们的性能,为大家提供我目前认为的最佳实践指南。
沙漠尽头的狼
2023/12/13
5110
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
如何在 CI/CD 过程中实施高效的自动化测试和部署
在持续集成(CI)和持续交付(CD)过程中,自动化测试和部署是提高软件交付速度和质量的关键。本文将详细介绍如何选择适合的CI/CD工具,配置自动化构建和测试流程,制定全面的测试策略,并确保部署环境的稳定性,采用蓝绿部署等策略降低风险。
Swift社区
2024/08/01
3730
如何在 CI/CD 过程中实施高效的自动化测试和部署
栈平衡和栈迁移
程序的运行需要数据,而数据就存放在内存中。首选的存放地址肯定是寄存器中(运行速度快),但是寄存器也就几个,数据很多,所以就把数据存放在了堆栈中。
ly0n
2020/11/04
1.2K0
栈平衡和栈迁移

相似问题

按钮禁用在IE 10中不起作用

20

JavaScript函数调用在IE中不起作用

13

对javascript中函数的调用在IE中不起作用

10

使用在chrome中不起作用的javascript启用按钮

22

禁用javascript中的按钮在IE中不起作用

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文