2011-12-21 50 views
0

我有一個基於C#的服務器和一些VB6客戶端試圖連接到。問題是,似乎客戶只是隨機「丟失」的消息。 myWinSock.Protocol從來沒有設置任何地方,所以無論默認值是什麼客戶端的WinSock將是。如果默認是UDP,它將回答我的問題並解釋數據包的丟失。VB6中的默認WinSock協議

是VB6的默認協議WinWock UDPTCP

+1

如果一方試圖使用TCP而另一方嘗試使用UDP,那麼它確實無法工作。 – 2011-12-21 20:22:20

+1

嘗試在兩端使用wireshark來查看服務器端發送的數據以及客戶端正在接收的數據。 – 2011-12-21 20:23:00

+0

@Shane Wealti,是的,我想盡可能多,但我想消除所有潛在的問題,我可以。 – kmarks2 2011-12-21 20:36:05

回答

2

在VB6中,控件的屬性在設計器中設置,並且沒有生成屬性設置代碼來備份屬性表中的選擇。

所以你不能僅僅通過查看IDE顯示給你的VB6代碼來判斷。

你可以做的是單擊winsock控件圖標,看看哪些屬性出現在網格中。

如果你想用這種方式分析一堆文件,你可以看看*.frm文件的原始內容,在這個文件的開始你會看到設計器網格中控件的屬性設置。

也就是說,winsock的默認協議是TCP。但是你永遠不知道是否保留了默認設置。

+0

哇。非常感謝,我會嘗試一下。 – kmarks2 2011-12-21 20:26:58