最近我被指派开发一个用 C++ 编写的诊断程序,该程序用于与电子设备通信。我们的正常情况是通过 RS232 接口进行通信,但我被要求让我们的程序通过以太网工作,源代码是用 Visual Basic 编写的。
在经过多次尝试让代码工作并尝试连接时继续出现 10049 Winsock 错误后,我尝试 ping 交换机。从运行 VB 程序的计算机,我可以通过 ping、nslookup、tracert 和 pathping(我查看了程序列表)查看交换机,并且我可以通过 URI 或 IP 地址执行此操作。从我的笔记本电脑,每次发送相同的命令都会失败。它们都使用相同的网络电缆和相同的 USB 转以太网设备(我在测试之间交换了它们),但一个可以看到交换机,另一个看不到。
我正在进行编程工作,但 ping 结果让我认为可能存在网络问题阻碍了我。苦笑我对网络不太熟悉,所以我需要专家的帮助。
如果有帮助的话,两台计算机都运行 Windows XP。
连接是连接到“IP-RS8”设备,然后连接到我们的 VCU-C 单元。每个单元都可以通过我们通常连接到单元的台式计算机上的 URI 或 IP 地址访问(它运行的是较旧的 VB 程序,我被要求从该程序中提取网络代码)。连接是通过 USB 转以太网适配器进行的,以便保留常规以太网端口用于连接到公司网络。嗯……仔细想想,我可能混淆了这个问题,谈论的是 ping“交换机”,而不是表明它是设备。我很抱歉。通信通常是通过 DLL 完成的,该 DLL 使用 Winsock 函数从 VCU 查询数据,然后接收数据。我连接时失败了。
我还没有在防火墙上找到任何可以阻止这些命令的东西,但我会继续寻找。我不知道这是否有可能相关,但在台式机上,适配器映射到本地连接 3,而在笔记本电脑上,它始终映射到本地连接 2。目前正在阅读有关 DHCP 的内容。
IPConfig /all 结果:
桌面
主机名.... . . . . . . . . . . . . : AMERDAEXXXXXX 主 DNS 后缀 . . . . . . . : amer.example.com 节点类型................................:混合 IP 路由已启用。。。。。。。:否 WINS 代理已启用。。。。。。。:否 DNS 后缀搜索列表。。。。。。:COMPANY.com 美国.example.com atle.example.com cone.example.com apac.example.com scan.example.com 由YX.example.com
以太网适配器本地连接 X:
连接特定的 DNS 后缀 . : amer.example.com 描述 . . . . . . . . . . . . . . . : Broadcom NetXtreme XYxx 千兆控制器 物理地址。。。。。。。。。。。:YY-XX-YB-XX-XX-XX Dhcp 已启用。。。。。。。。。。:是 自动配置已启用。。。:是 IP 地址。。。。。。。。。。。。。:XYY.XXX.XY.XXX 子网掩码....。....。....。....:XXX.XXX.XXY.Y 默认网关...:XYY.XXX.XY.X DHCP 服务器................:XY.XXX.XXY.XX DNS 服务器..................:XY.XXX.XXY.XX XY.XXY.XXY.XX 主 WINS 服务器...:XY.XXX.XXY.X 辅助 WINS 服务器....:XY.XXY.XXY.X 已获得租约。。。。。。。。。。。:星期四,七月 XX,XYXX XY:XX:XX 上午 租约到期。。。。。。。。。。。。: XYXX 年 7 月 XX 日星期日上午 XY:XX:XX
以太网适配器本地连接 X:
连接特定的 DNS 后缀 . : 描述 . . . . . . . . . . . . . . : ASIX axYYYYX USBX.Y 至快速以太网适配器 物理地址。。。。。。。。。。。:YY-XY-BY-YX-XY-AY Dhcp 已启用。。。。。。。。。。:是 自动配置已启用。。。:是 IP 地址。。。。。。。。。。。。。:XY.YYX 子网掩码....。....。....。....:XXX.XXX.XXY.Y 默认网关...:XY.YYX DHCP 服务器...............:XY.YYXY DNS 服务器.................:XY.YYX 已获得租约。。。。。。。。。。。:星期四,七月 XX,XYXX XY:XX:XY AM 租约到期时间..................................:星期二,八月 YX,XYXX XX:XY:XY AM
笔记本电脑
Windows IP 配置
主机名......................:AMERLAFYYXXYX 主 DNS 后缀 . . . . . . . : amer.example.com 节点类型................................:混合 IP 路由已启用。。。。。。。:否 WINS 代理已启用。。。。。。。:否 DNS 后缀搜索列表。。。。。。:COMPANY.com 美国.example.com atle.example.com cone.example.com apac.example.com scan.example.com 由YX.example.com
以太网适配器本地连接:
连接特定的 DNS 后缀 . : amer.example.com 描述....。...。...。...。...:英特尔(R) 82567LM 千兆网络连接 物理地址。。。。。。。。。。。:YY-XY-BY-DY-XB-YX Dhcp 已启用。。。。。。。。。。:是 自动配置已启用。。。:是 IP 地址。。。。。。。。。。。。。:XYY.XXX.XY.XY 子网掩码....。....。....。....:XXX.XXX.XXY.Y 默认网关...:XYY.XXX.XY.X DHCP 服务器................:XY.XXX.XXY.XX DNS 服务器..................:XY.XXX.XXY.XX XY.XXY.XXY.XX 主 WINS 服务器...:XY.XXX.XXY.X 辅助 WINS 服务器....:XY.XXY.XXY.X 已获得租约。。。。。。。。。。。:星期四,七月 XX,XYXX 上午 XX:XX:XX 租约到期。。。。。。。。。。。。:XYXX 年 7 月 XX 日星期日上午 XX:XX:XX
以太网适配器 {XYXAAYXX-YEDY-XXYX-YYEX-BYXYXXYEEYEX}:
连接特定的 DNS 后缀 . : 描述....。。。。。。。。。。。:Nortel IPSECSHM 适配器 - 数据包调度程序 iniport 物理地址。。。。。。。。。。。:XX-XX-XX-XX-XX-YY DHCP 已启用。。。。。。。。。。:否 IP 地址。。。。。。。。。。。。。:YYYY 子网掩码....:YYYY 默认网关 。 。 。 。 。 。 。 。 。 :
以太网适配器 Leaf Networks Adapter:
连接特定的 DNS 后缀 . : 描述....。。。。。。。。。。:Leaf Networks 适配器 物理地址。。。。。。。。。。。:YY-FF-FA-BC-YF-AY DHCP 已启用。。。。。。。。。。:否 IP 地址。。。。。。。。。。。。。:X.XYY.XY.XX 子网掩码....。....。....。....:XXX.YYY 默认网关 。 。 。 。 。 。 。 。 。 :
以太网适配器本地连接 3:
媒体状态. . . . . . . . . . . . : 媒体已断开连接 描述....。...。...。...。:蓝牙局域网接入服务器驱动程序 物理地址。。。。。。。。。。。:YY-FX-AX-YA-BY-CA
以太网适配器无线网络连接2:
媒体状态. . . . . . . . . . . . : 媒体已断开连接 描述....。...。...。...。...:英特尔(R) WiFi Link 5300 AGN 物理地址。。。。。。。。。。。:YY-XX-YA-CX-FC-YE
以太网适配器本地连接2:
连接特定的 DNS 后缀 . : 描述 . . . . . . . . . . . . . : ASIX ax88772 USB2.0 至快速以太网适配器 物理地址。。。。。。。。。。。:YY-XY-BY-YX-XY-AY DHCP 已启用。。。。。。。。。。:否 IP 地址。。。。。。。。。。。。。:XYX.XYY.XX 子网掩码....。....。....。....:XXX.XXX.XXX.Y 默认网关 。 。 。 。 。 。 。 。 。 :
答案1
您说您正在 ping 交换机?该交换机是具有专用 IP 地址的托管交换机吗?
在无法 ping 通的计算机的防火墙上添加 ping 例外(或禁用)。计算机是否位于同一子网(检查两个系统的 IP 寻址)?是否有任何静态路由阻止遍历(从命令行运行“ROUTE PRINT”)?
答案2
检查防火墙设置。检查以确保您的笔记本电脑从 DHCP 获取地址(重复的地址可能表明存在问题)。
您能 ping 通网络上的网关吗?
运行 ipconfig /all 来查找部分此类信息。
最后,获取 zenmap(它是端口扫描工具 nmap 的 GUI 前端)并扫描该设备以查看可用的端口。我用来测试特定 TCP 端口连通性的另一个好工具(除 telnet 外)是 tcping,它基本上会尝试连接然后断开特定端口的连接。
在编程时,您是否必须在描述的协议内进行编码,或者程序/您的程序只是 telnet 通信的前端?如果是这样,请选择 SSH,因为 telnet 将以纯文本形式发送命令,这总是不好的,永远不会是好事。
:http://nmap.org/dist/nmap-5.51-setup.exe :http://www.elifulkerson.com/projects/tcping.php