VB6 中的默认 WinSock 协议

Posted

技术标签:

【中文标题】VB6 中的默认 WinSock 协议【英文标题】:Default WinSock Protocol in VB6 【发布时间】:2011-12-21 20:06:53 【问题描述】:

我有一个基于 C# 的服务器和一些尝试连接的 VB6 客户端。问题是客户端似乎只是随机“丢失”消息。 myWinSock.Protocol 永远不会在任何地方设置,因此无论默认值是什么,客户端的 WinSock 都会是什么。如果默认是 UDP,那将回答我的问题并解释数据包的丢失。

VB6 WinWock 的默认协议是UDP 还是TCP

【问题讨论】:

我敢肯定,如果一方尝试使用 TCP 而另一方尝试使用 UDP,它根本不会工作。 尝试在两端使用wireshark,看看服务器端发送了哪些数据,客户端接收了哪些数据。 @Shane Wealti,是的,我想了很多,但我想尽可能消除所有潜在的问题。 【参考方案1】:

在 VB6 中,控件的属性是在设计器中设置的,并且没有生成的属性设置代码可以支持在属性表上所做的选择。

因此,您无法仅通过查看 IDE 显示的 VB6 代码来判断这一点。

您可以做的是单击 winsock 控件图标,然后查看网格中显示的属性。

如果您想以这种方式分析一堆文件,您可以查看*.frm 文件的原始内容,在开头您将看到为设计器网格中的控件设置了哪些属性。

也就是说,winsock 的默认协议是 TCP。但是您永远无法知道是否保留了默认设置。

【讨论】:

哇。非常感谢,我会试试这个。

以上是关于VB6 中的默认 WinSock 协议的主要内容,如果未能解决你的问题,请参考以下文章

VB6 中的 Winsock 控件只向数组中的最后一个索引发送文本消息

无法在 Windows 2012 MSMQ 中连接 Winsoc 套接字

我在 vb6(winsock) 中创建的客户端/服务器程序不能在 WAN 上运行,但可以在 LAN 上完美运行 为啥?

尝试使用 VB6 Winsock 连接到票务打印机

vb6 - 将消息发送到winsock服务器聊天

VB6:如何获取通过 winsock 发送的字节数?