Tag: 网络编程

在C#中确定打印机的IP地址

我想使用C#(.NET 2.0)确定打印机的IP地址。 我只有Windows操作系统上设置的打印机共享名称,格式为\\PC Name\Printer Name 。 打印机是网络打印机,具有与PC不同的IP地址。 有没有人有任何指针? 在此先感谢您的帮助。 此致,安迪。

UDP:从所有网络接口读取数据

我有以下代码来读取来自网络的多播消息,用于指定的IP +端口 private static void ReceiveMessages(int port, string ip, CancellationToken token) { Task.Factory.StartNew(() => { using (var mUdpClientReceiver = new UdpClient()) { var mReceivingEndPoint = new IPEndPoint(IPAddress.Any, port); mUdpClientReceiver.ExclusiveAddressUse = false; mUdpClientReceiver.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); mUdpClientReceiver.ExclusiveAddressUse = false; mUdpClientReceiver.Client.Bind(mReceivingEndPoint); mUdpClientReceiver.JoinMulticastGroup(IPAddress.Parse(ip), 255); while (!token.IsCancellationRequested) { byte[] receive = mUdpClientReceiver.Receive(ref mReceivingEndPoint); Console.WriteLine(“Message received from {0} “,mReceivingEndPoint); } } […]

对SSPI的调用失败,请参阅内部exception – 无法联系本地安全机构

我有一个WPF应用程序,它使用SSLStream连接到服务器并发送/接收一些消息。 我的代码更大程度上基于这个例子(SslTcpClient): https ://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v = vs.110).aspx。 这个工作好几个月了。 但是,在获得此Windows更新(Windows 10版本1511和Windows Server 2016技术预览4的累积更新:2016年6月14日 – https://support.microsoft.com/en-us/kb/3163018 )之后。 我的应用程序开始报告此exception: System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. —> System.ComponentModel.Win32Exception: The Local Security Authority cannot be contacted — End of inner exception stack trace — at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] […]

如何确定私有IP地址?

到目前为止,我有这个代码: NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in adapters) { IPInterfaceProperties properties = adapter.GetIPProperties(); foreach (IPAddressInformation uniCast in properties.UnicastAddresses) { // Ignore loop-back addresses & IPv6 if (!IPAddress.IsLoopback(uniCast.Address) && uniCast.Address.AddressFamily!= AddressFamily.InterNetworkV6) Addresses.Add(uniCast.Address); } } 如何过滤私有IP地址? 我以同样的方式过滤环回IP地址。

检索进程网络使用情况

如何获取进程发送/接收字节? 首选方法是使用C#。 我搜索了很多,但我没有找到任何简单的解决方案。 一些解决方案建议在机器上安装WinPCap并使用此lib。 喜欢这个人问: 在托管代码中需要“具有网络活动的进程”function – 就像resmon.exe一样,我不想要lib的开销。 有一个简单的解决方案吗? 实际上我想要Windows资源监视器在“带网络活动的进程”选项卡下提供的确切数据: Windows的资源监视器如何获取此信息? 任何例子? 此外,尝试使用此处提到的计数器方法: 发送/接收的网络丢失但没有成功 – 因为并非每个进程都显示在此计数器下。 我再次想知道资源监视器如何在不使用此计数器的情况下获取此信息…

什么是好的教程/ howto on .net / c#socket编程

我正在将使用Winsock控件的旧VB6代码移植到C#。 我没有做任何套接字编程,我想知道是否有人有一个很好的参考/教程/ howto,我可以用来开始加快速度。 当我继续使用我普遍没有效率的谷歌搜索时,我正在吸引蜂巢的头脑。 我目前正在使用UDP,而不是TCP。

获取默认网关

我正在编写一个程序,向用户显示他们的IP地址,子网掩码和默认网关。 我可以得到前两个,但对于最后一个,这就是我出现的: GatewayIPAddressInformationCollection gwc = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()[0].GetIPProperties().GatewayAddresses; 当然,这会返回一个GatewayIPAddressInformation的集合。 因此,如果计算机有多个网关,我如何确定哪个是默认网关? 在实践中,我只见过这个集合包含一个条目,但由于它是作为集合实现的,因此有些计算机包含多个网关,其中没有一个被标记为“默认”。 那么有没有办法确定默认值还是只是猜测?

在C#中检查网络状态

如何检查我是否有开放的网络连接,并且可以联系c#中的特定IP地址? 我在VB.Net中看到了一些例子,但它们都使用了’My’结构。 谢谢。

列出连接到单个LAN的所有计算机的IP地址

我正在编写一个程序,您可以出于各种原因将其连接到LAN中的其他计算机。 但是,我不想输入多台计算机的IP地址(这是一个痛苦的屁股),我想知道是否有办法列出局域网中所有计算机的IP地址。 我整天都在研究,到目前为止还没有找到合适的东西。 这是因为这种类型不存在吗? 先感谢您。 编辑:看起来这篇文章有很多观点,我应该发布我的实际解决方案。 通常,LAN上计算机IP地址的命名约定是相同的。 例如192.168.2。*,*被替换为任何有效数字。 我的程序检测到IP地址,将其显示给用户,然后询问前3个IP块。 然后通过ping并等待响应,在给定的IP命名约定中依次扫描最多200个。 没有回应,没有电脑。 一旦知道它背后有计算机,它就能完成你可以用IP做的一切。

如何使用C#发送原始以太网数据包?

有没有办法通过C#将原始数据包以太网发送到其他主机? 在Windows 7中,如果它有所不同。