草庐IT

c# - TCP 客户端无法使用框架 4.6.1 绑定(bind)到套接字中的端口 0

我有一个正在运行的应用程序,它使用套接字通信连接到某个端口上的服务器。我已将该应用程序从框架2.0(VisualStudio)移植到框架4.5,并顺利通过所有中间框架。现在,使用visualstudio15和framework4.6.1,套接字不再连接。查代码发现是socket.Bind在localport为0时抛出异常的问题并且服务器只允许您的一个IP连接,您需要绑定(bind)套接字必须用来启动其连接的适配器(或IP),否则,套接字将使用随机IP或顶部的IP.注释“绑定(bind)”会正常工作,但我们无法指定其他本地IP进行连接。遗憾的是,我的IP不是默认选择的IP,所以我无法再在

linux - 如何绑定(bind)到只有一个网络接口(interface)(Linux)的所有地址?

我想要实现的是将IPv6套接字绑定(bind)到任何地址只是一个特定设备,而不是系统范围的。我的直觉是,我可以使用SO_BINDTODEVICE来setsockopt(),然后绑定(bind)到::。它主要做我期望它做的事。v4中的行为相同。使用SO_BINDTODEVICE绑定(bind)到接口(interface)的套接字将只接受与该接口(interface)上的地址建立的连接。这是意料之中的事。但是,如果我尝试绑定(bind)到接口(interface)B上的源端口,而接口(interface)A上有一个使用相同端口的套​​接字但,我会遇到错误号“地址已在使用中”.例如:网卡A有

java - 地址已在使用 : JVM_Bind but no process is listed using port with netstat

我有一个使用ServerSocketAPI(Java8)并绑定(bind)到本地端口12000的java进程。进程在Windows服务包装器(exe4j)下运行。我有一个在凌晨4点运行的计划任务,该任务会停止服务并在几秒钟后重新启动它。该过程安装在400多个客户位置。直到大约上周五,一切都运行顺利。一些进程未能在凌晨4点正常重启。在我能够连接并验证的2台服务器上,重启失败,同时显示“地址已在使用:JVM_Bind”。系统似乎仍在使用端口12000。我使用了我知道的所有工具(processexplorer、tcpview、netstat-ano等)来尝试找到进程...但没有成功。只有机器

c - 如何在 C 中枚举 Windows 上绑定(bind)的 UDP/TCP 套接字

假设您无权访问SOCKET处理程序。 最佳答案 使用GetUdpTable或GetTcpTable函数。下面的GetTcpTable示例代码(来自http://msdn.microsoft.com/en-us/library/aa366026%28VS.85%29.aspx)//NeedtolinkwithIphlpapi.libandWs2_32.lib#include#include#include#include#pragmacomment(lib,"iphlpapi.lib")#pragmacomment(lib,"ws2_

c - 绑定(bind)到两个本地 IP 失败

我有两个无线适配器,一个USB适配器和一个内置在我的笔记本电脑中。我希望能够使用这两个连接。因此,在玩具示例中,我将两个不同的套接字绑定(bind)到两个不同的IP地址和端口号,并在每个套接字上调用连接。但是,当我在wireshark中检查我的网络流量时...我只看到来自一个ip的流量!?事实上,尽管我明确绑定(bind)了每个套接字,但我看到了从一个IP地址进行连接的两个调用。这是我使用的代码:请注意,我还使用了非阻塞套接字和选择。我拥有的代码已经过验证可用于一个互联网连接。#include#include#include#include#include#include#includ

linux - 是否可以将套接字与 NIC 队列绑定(bind)?

当我打开一个新的套接字时,linux系统会自动将它绑定(bind)到一个NIC队列。目前我有两个套接字,我想将它们绑定(bind)到两个不同的NIC队列。我的问题是1)是否可以通过编程方式或使用一些linux命令将套接字绑定(bind)到nic队列。2)如果是这样,请指导我正确的方向。 最佳答案 wheniopenanewsocketlinuxsystemautomaticallybindittoaNICqueue.不,它没有。您可以将它bind()到本地IP地址,或者系统会在您连接套接字时自动为您执行此操作(对于TCP),或者首先

c# - WCF net.tcp 与基于证书的消息安全性绑定(bind)但安全模式已关闭

我有一个WCF服务和一个桌面客户端。我使用net.tcp绑定(bind)。我有自己的身份验证方法,但我希望对消息进行加密。所以我在双方都安装了相同的证书。我的配置如下:...我在服务器上也有相同的配置。该解决方案有效,但我不知道它是否真的加密了消息。我认为此配置关闭默认身份验证但仍加密channel是否正确?提前致谢 最佳答案 详细说明初始响应如果您想加密channel,请使用类似这样的绑定(bind)进行传输级加密:要加密消息,使用类似这样的绑定(bind)进行消息级加密:您会注意到下面的节点可以是或,这应该与您选择的mode匹配

c# - WCF - 无法停止 net.tcp 绑定(bind)(托管在 IIS 上)

我在配置了net.tcp端点的IIS上运行WCF服务。在IIS上禁用页面后,我仍然能够对我的服务o.O运行请求。禁用应用程序池按预期工作(服务不再可用)。这是错误还是功能? 最佳答案 我遇到了类似的问题,我发现:停止网站不会停止net.tcp服务DisableAppPool会禁用服务但不会释放端口,SMSvcHost.exe仍使用该端口之后重新启动也无济于事。释放端口(被其他东西使用)的唯一方法是在IIS中删除net.tcp绑定(bind)。我花时间在这上面,因为从net.tcp服务收到了错误的答案。我花了一段时间才发现——这不是我

java - 服务器关闭客户端套接字然后客户端在同一端口上打开新套接字时出现 JVM_Bind 错误

此问题是间歇性的,每30秒运行一次并执行以下网络通信的进程每隔几个小时就会发生一次:远程机器上有一个服务器正在监听客户端连接到这台机器并告诉服务器连接回它服务器关闭套接字并重新连接到客户端当套接字在客户端关闭时,客户端立即开始监听同一端口JVM_Bind错误会在客户端尝试开始监听同一端口时发生,即使它只是在原始套接字关闭后才尝试这样做。在套接字关闭和打开新套接字之间添加100毫秒的轻微延迟可防止JVM_Bind错误。我可以使用什么工具来调试这种情况?连续运行netstat未显示任何干扰端口的情况。尽管在同一端口上启动一个新的套接字监听是一种坏主意,但为什么会间歇性地出现此错误?编辑:一

c# - Socket.Bind 然后连接到 MS Loopback NIC

我在Windows7x64中创建了一个环回接口(interface)卡假设我的本地机器的IP是20.200.20.30/255.255.255.128环回适配器的IP是20.200.20.65/255.255.255.128我在20.200.20.30的7800端口上打开了一个监听套接字在另一个线程/应用程序上,我在20.200.20.65上绑定(bind)了一个套接字,然后连接到20.200.20.30但它因连接超时而失败。虽然它在WindowsXP上运行良好。请指教 最佳答案 将出站套接字绑定(bind)到环回地址,然后尝试将其