Tag: 网络协议

C#中的可靠多播

在c#/ .Net 3.5中我有哪些可靠的多播选项? 我不想使用MSMQ。 我对商业和开源选项持开放态度。 谢谢

在进行网络I / O时是否缓冲了Stream.Read?

所以我最近做了一些工作,当有人告诉我,如果在网络流上做一个Stream.Read是通过在WebResponse上调用.NET的一个GetResponseStream获得的,或者那些是缓冲的。 他说如果你要在你正在阅读的代码中设置一个断点,你就不会停止网络流量。 我发现这很奇怪,但也希望这是真的。 这是如何运作的? 它甚至准确吗? using (Stream webResponseStream = this.webResponse.GetResponseStream()) { byte[] readBuffer = new byte[bufferSize]; int bytesRead = webResponseStream.Read(readBuffer, 0, bufferSize); while (bytesRead > 0) { bytesRead = webResponseStream.Read(readBuffer, 0, bufferSize); // If I put a breakpoint here, does network activity stop? } }

内部IP地址和外部IP地址之间的区别

谁能告诉我内部IP地址和外部IP地址有什么区别? 如何使用Java,C#或Adobe AIR等编程语言?

XmlSerializer。通过NetworkStream反序列化块

我正在尝试通过网络流发送XML可序列化对象。 我已经在UDP广播服务器上使用它,它从本地网络接收UDP消息。 这是服务器端的一个片段: while (mServiceStopFlag == false) { if (mSocket.Available > 0) { IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, DiscoveryPort); byte[] bData; // Receive discovery message bData = mSocket.Receive(ref ipEndPoint); // Handle discovery message HandleDiscoveryMessage(ipEndPoint.Address, bData); … 相反,这是客户端: IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Broadcast, DiscoveryPort); MemoryStream mStream = new MemoryStream(); byte[] bData; // Create broadcast UDP server […]

蓝牙在2台Windows 7计算机上使用C#进行配对而不进行配对

我已经读过,在通过蓝牙进行通信之前必须进行配对,但我想知道, 我是否可以创建一个应用程序来读取由另一个蓝牙应用程序广播但未配对的文本。 因为我们可以看到设备周围其他蓝牙设备的名称。 因此,我们不能将我们的蓝牙无线电设置为可以读取任何蓝牙播放文本消息的状态。 示例:android中有createInsecureRfcommSocketToServiceRecord() & listenUsingInsecureRfcommWithServiceRecord()但是在C#中没有这样的窗口吗? 谢谢 我的终极目标 🙂 正在创建一个在Windows 7 PC上运行的应用程序,它可以创建即时蓝牙网络,用于对等文件传输和聊天 脚本 有一群人,每个人在每台计算机上都有这个应用程序,其中一个人希望与其他人分享文件(可能是电子书,PDF或任何东西)。 他在他的应用程序配置中设置了他的网络“net”(或任何其他名称),而其他人也在每个应用程序上添加了相同的名称。 最后,每个用户都可以在他们的应用程序显示中看到他们周围的其他蓝牙节点的列表,配置为相同的网络名称“net”。 所以每个人都可以将文件发送到同一网络中的选定节点。 设计 每个用户只 打开蓝牙无线电 ,然后在应用程序中输入所需的网络名称 PC上的每个应用程序将通过临时创建的连接( 无需配对或用户参与 )迭代地与可访问的蓝牙设备通信,检查其网络名称并列出具有类似网络名称的可发现PC 然后他们将彼此共享这些列表,因此一台PC知道同一网络中的计算机,即使它们不在范围内。 通过算法解析的路径将文件从一台计算机发送到一台或多台计算机,甚至发送聊天文本。 所有这一切都将通过在每个应用程序之间建立的简单临时蓝牙连接来实现,除了网络名称之外不需要配对或认证。 (因为我不知道如何使用C#创建Piconets,或者如何创建蓝牙路由协议。 没有实施其他安全措施。 请让我知道任何其他更好的设计或方式。 非常感谢你阅读冗长的文字。 还包括任何有用的代码,可以帮助我实现上述目标。

获取默认网关

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