Tag: networking

Windows 8.1中的http客户端取消请求

我正在开发Windows Phone 8.1项目。 Windows 8.1中有两个版本的http客户端system.net.http和windows.web.http 。 Microsoft建议使用更高版本。 所以,我决定坚持下去。 但我无法找到一种方法来取消使用windows.web.http.httpclient启动的Web请求。 在system.net.http.httpclient有一个CancelPendingRequests方法,但后面的选项不存在类似的方法。 那么,是否有可能取消网络请求,如果是这样的话? 示例代码: 考虑一个Http Get请求谷歌如下。 如果用户愿意,我想在完成之前取消它。 // Windows Phone 8.1 project (not silverlight) public sealed partial class MainPage : Page { Windows.Web.Http.HttpClient client = new Windows.Web.Http.HttpClient(); public MainPage() { this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required; Windows.Phone.UI.Input.HardwareButtons.BackPressed += (s, e) => { CancelGet(); } } private void CancelGet() { […]

直接P2P连接

本主题类似于此主题 我对网络编程这个话题比较陌生,在一台本地机器上从来没有做过基本的TCP / UDP。 现在我正在开发一个需要P2P网络支持的应用程序。 更具体地说,我将需要应用程序通过互联网连接和通信,优选地不使用服务器来进行客户端之间的匹配。 我知道并假设几乎所有用户都在路由器后面,这使得流程变得复杂,因为两个客户端都不能初始化到另一个的直接连接。 我知道UPnP是允许端口转发的选项,无需用户手动配置,但截至目前,这不是一个选项。 他们有什么办法实现我的目标,还是我需要那台服务器?

.NET SSH端口转发

我正在尝试将SSH端口转发到我正在编写的.net应用程序中。 我尝试过使用sharpSSH ,但它要求用户每次都输入密码,我不希望这样。 我将处理存储密码。 我已经下载了Granados ,但基本上没有文档。 当我筛选Granados源代码时,是否有人知道如何使用Granados或任何其他.NET 免费 SSH库完成端口转发?

是否可以在不使用win32 API库的情况下获取在C#中连接的IP地址列表。

我正在尝试获取在LAN中连接的IP地址列表,是否可以不使用win32 API库。(Netapi32.dll)。 任何想法得到一个没有使用非托管的win32动态library.target到Windows 7操作系统

C#UDP数据包丢失但所有数据包都到达(WireShark)

正如标题所说我在C#中遇到UDP问题。 我正在尝试为DayZ游戏的rcon协议构建一个库。 我的问题是我没有收到我应该收到的每一个数据包。 发送命令后,服务器回复分裂答案。 包头包含总包数和当前包的索引。 现在,如果我应该获得17个数据包,我的应用程序中只能获得8-15个数据包。 在使用WireShark进行测试后,我现在知道所有包都到达了我的计算机。 他们只是不被我的应用程序或类似的东西认可。 我的实际问题是:是否可以防止丢失我的网卡和我的应用程序之间的包裹? 或者为什么会这样? 这是我目前的代码。 它非常脏,因为我在按预期工作后撕开它: private Socket _udpClient; private Thread _receiverThread; private Thread _workerThread; private Queue _packetQueue; private PacketBuffer[] MessageBuffer; private byte SenderSequence = 0; private IPEndPoint connection; public RCon(IPAddress ip, int port) { connection = new IPEndPoint(ip, port); _udpClient = new Socket(connection.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp); _udpClient.Connect(connection); MessageBuffer = […]

在Send()之后的UdpClient,Receive()不起作用?

请考虑以下代码: client.Send(data, data.Length, endpoint); byte[] response = client.Receive(ref endpoint); 虽然根据WireShark(网络嗅探器),远程主机确实回复数据,但这里的应用程序只是永远等待数据……由于某种原因,它没有从远程主机接收答案。 有任何想法吗?

无法在我的c#应用程序中添加静态端口映射

我正在尝试在我的c#应用程序中添加新的静态端口映射。 因为我的应用程序作为服务器运行,我希望它在端口8000上监听。 NATUPNPLib.UPnPNATClass upnpnat = new NATUPNPLib.UPnPNATClass(); NATUPNPLib.IStaticPortMappingCollection mappings = upnpnat.StaticPortMappingCollection; mappings.Add(8000, “TCP”, 8000, “192.168.1.100”, true, “Local Web Server”); 但它不起作用!,例外情况如下: 你调用的对象是空的。 有人可以帮我吗? 这就是我正在做的: http : //pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx

c#网络适配器列表

我有代码,它使用System.Net和System.Net.NetworkInformation引用,它生成一个我的网络连接名称列表。 一切似乎都很好并且正常工作,但是当我创建一个这样的代码,并将导出的值导出到listbox1项目添加时,我只有一个网络连接名称,但实际上我有四个。 我怎么解决这个问题? private void button1_Click(object sender, EventArgs e) { Adapters obj = new Adapters(); var value = obj.net_adapters(); listBox1.Items.Add(value); } public class Adapters { public string net_adapters() { string value = string.Empty; foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces()) { value = nic.Name; } return value; } }

c#中的UDP客户端速率控制

我连续发送多个udp数据包到远程PC。 问题是,如果数据量太高,某些设备之间的某个通道会遇到缓冲区溢出。 我打算限制/限制/控制udp数据包的发送速率。 谁能给我一些关于如何找到最佳费率发送间隔的指导? 顺便说一句,请停止建议tcp over udp。 目标不是可靠地发送数据,而是测量最大吞吐量。

在C#中创建VPN客户端

我一直在寻找不同的VPN,看起来他们没有很好的加密(如默认的Windows XP VPN服务器)。 我想看看我是否可以使用C#创建自己的。 但我不知道如何创建一个拦截所有数据包的客户端,并将它们转发到VPN服务器。 我该怎么做?