草庐IT

Networking

全部标签

c# - C# 中的 TraceRoute 和 Ping

有没有人有方便的C#代码来对目标计算机执行ping和traceroute操作?我正在寻找一种纯代码解决方案,而不是我现在正在做的,即调用ping.exe和tracert.exe程序并解析输出。我想要更坚固的东西。 最佳答案 考虑到我今天必须编写一个TraceRoute类,我想我不妨分享一下源代码。usingSystem.Collections.Generic;usingSystem.Net.NetworkInformation;usingSystem.Text;usingSystem.Net;namespaceAnswer{publ

c# - 为什么我的 .NET 应用程序在从网络驱动器运行时会崩溃?

我的.NET应用程序在从网络驱动器运行时失败,即使相同的可执行文件在本地硬盘驱动器上运行得很好?我试过像这样检查“完全信任”:try{//DemandfulltrustpermissionsPermissionSetfullTrust=newPermissionSet(PermissionState.Unrestricted);fullTrust.Demand();//Performnormalapplicationlogic}catch(SecurityException){//ReportthatpermissionswerenotfulltrustMessageBox.Show(

c# - 为什么我的 .NET 应用程序在从网络驱动器运行时会崩溃?

我的.NET应用程序在从网络驱动器运行时失败,即使相同的可执行文件在本地硬盘驱动器上运行得很好?我试过像这样检查“完全信任”:try{//DemandfulltrustpermissionsPermissionSetfullTrust=newPermissionSet(PermissionState.Unrestricted);fullTrust.Demand();//Performnormalapplicationlogic}catch(SecurityException){//ReportthatpermissionswerenotfulltrustMessageBox.Show(

c# - 多人游戏同步

我实现了一个服务器/客户端架构,其中所有状态更改都被发送到函数、验证并广播到所有连接的客户端。这工作得很好,但系统目前不保持游戏客户端实例之间的同步。如果服务器和特定客户端之间恰好有5秒的延迟,那么他将在其余客户端之后5秒收到状态更改,从而使他的游戏状态不同步。我一直在寻找各种方法来实现客户端之间的同步系统,但到目前为止还没有找到太多。我是网络编程的新手,并没有天真地认为我可以自己发明一个工作系统而无需投入大量时间。然而,我的想法是保留某种时间系统,这样每个状态变化都会与游戏中的特定时间戳相关联。这样,当客户端收到状态更改时,它会确切地知道更改发生在游戏的哪个阶段,进而能够关联延迟。这

c# - 多人游戏同步

我实现了一个服务器/客户端架构,其中所有状态更改都被发送到函数、验证并广播到所有连接的客户端。这工作得很好,但系统目前不保持游戏客户端实例之间的同步。如果服务器和特定客户端之间恰好有5秒的延迟,那么他将在其余客户端之后5秒收到状态更改,从而使他的游戏状态不同步。我一直在寻找各种方法来实现客户端之间的同步系统,但到目前为止还没有找到太多。我是网络编程的新手,并没有天真地认为我可以自己发明一个工作系统而无需投入大量时间。然而,我的想法是保留某种时间系统,这样每个状态变化都会与游戏中的特定时间戳相关联。这样,当客户端收到状态更改时,它会确切地知道更改发生在游戏的哪个阶段,进而能够关联延迟。这

c# - 在 C# 中检测网络连接速度和带宽使用情况

有没有办法在C#中检测网络速度和带宽使用情况?甚至欢迎指向开源组件的指针。 最佳答案 尝试使用System.Net.NetworkInformation类。特别是,System.Net.NetworkInformation.IPv4InterfaceStatistics应该有一些与您正在寻找的内容相一致的信息。具体来说,您可以检查bytesReceived属性,等待给定的时间间隔,然后再次检查bytesReceived属性以了解您的连接有多少字节/秒正在处理。但是,要获得一个好的数字,您应该尝试从给定来源下载大量信息,然后进行检查;

c# - 在 C# 中检测网络连接速度和带宽使用情况

有没有办法在C#中检测网络速度和带宽使用情况?甚至欢迎指向开源组件的指针。 最佳答案 尝试使用System.Net.NetworkInformation类。特别是,System.Net.NetworkInformation.IPv4InterfaceStatistics应该有一些与您正在寻找的内容相一致的信息。具体来说,您可以检查bytesReceived属性,等待给定的时间间隔,然后再次检查bytesReceived属性以了解您的连接有多少字节/秒正在处理。但是,要获得一个好的数字,您应该尝试从给定来源下载大量信息,然后进行检查;

c# - 停止 TcpListener 的正确方法

我目前正在使用TcpListener来处理传入的连接,每个连接都有一个线程来处理通信,然后关闭该单个连接。代码如下所示:TcpListenerlistener=newTcpListener(IPAddress.Any,Port);System.Console.WriteLine("ServerInitialized,listeningforincomingconnections");listener.Start();while(listen){//Step0:ClientconnectionTcpClientclient=listener.AcceptTcpClient();Threa

c# - 停止 TcpListener 的正确方法

我目前正在使用TcpListener来处理传入的连接,每个连接都有一个线程来处理通信,然后关闭该单个连接。代码如下所示:TcpListenerlistener=newTcpListener(IPAddress.Any,Port);System.Console.WriteLine("ServerInitialized,listeningforincomingconnections");listener.Start();while(listen){//Step0:ClientconnectionTcpClientclient=listener.AcceptTcpClient();Threa

c# - 在 .NET 中查找下一个 TCP 端口

我想为WCF服务调用创建一个新的net.tcp://localhost:x/Service端点,并动态分配新的开放TCP端口。我知道当我打开到给定服务器的连接时,TcpClient会分配一个新的客户端端口。有没有一种简单的方法可以在.NET中找到下一个打开的TCP端口?我需要实际数字,以便我可以构建上面的字符串。0不起作用,因为我需要将该字符串传递给另一个进程,以便我可以在那个新channel上回调。 最佳答案 这是我要找的:staticintFreeTcpPort(){TcpListenerl=newTcpListener(IPA