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 套接字