關於 vb6 的 winsock 控制一次性傳遞資料大小的問題。

發布 社會 2024-07-08
9個回答
  1. 匿名使用者2024-01-30

    系統指定的網路資料包的大小無濟於事。

    它也可能與網絡卡等硬體有關。

  2. 匿名使用者2024-01-29

    這取決於網路緩衝區的設定。

  3. 匿名使用者2024-01-28

    (二好解壓再安裝,註冊碼全部為1)。

  4. 匿名使用者2024-01-27

    也可以使用 vb6 的 winsock 控制,當然還有更好的解決方法,那就是套接字程式設計:

    imports

    imports

    通過引用以上兩個物件,就可以使用支援多執行緒的套接字,這比單執行緒的WinSock要好得多!

  5. 匿名使用者2024-01-26

    將查詢結果載入到 propertybag 中,並傳送背包的內容。

    有關如何使用 propertybag 的詳細資訊,請在網際網絡上找到詳細資訊。

  6. 匿名使用者2024-01-25

    是的,不同的資料庫有不同的協議,這些協議是相對低階的,其他協議可能不是公開的。 SQL Server協議似乎叫FreeTDS可以連線,對Sybase來說很常見(Microsoft和Sybase以前合作過,所以有很多相同的東西)。

  7. 匿名使用者2024-01-24

    理論上是無限的,因為winsock緩衝區是8k,所以資料會分成8k,一次傳送很多次,這個時候,接收端最好用這種方法接收資料,這樣比較麻煩,所以建議你把要傳送的資料分成線以下的8k段, 傳送!

    但有訊息稱,當網路不是很好的時候,傳送的資料越大,誤位元速率越高,也就是說出錯的概率越大,雖然系統有校驗功能,但誤差會被重新傳,但這會影響資料傳輸的效率,網上有人說,分成1k-2k效率最高! 我沒有嘗試過!

  8. 匿名使用者2024-01-23

    我明白了,我看到了。

    這是因為 WinSock 的 Connect 方法不是同步的,並且(我的猜測是)Connect 語句的執行和本質上的連線過程是在不同的執行緒中完成的。 因此經常。

    雖然執行完成但還沒有真正連線,winsock 還是卡在了 6 狀態,下乙個就是這個時候。

    ttt"自然,它會失敗。

    給出了兩種解決方案。

    第一種是將連線和資料傳送分離為兩個按鈕事件,以便有足夠的時間讓 winsock 實際連線。 **我就不寫了,很容易實現。

    其次,如果不想使用兩個按鈕,連線後必須立即傳送資料,可以在迴圈中輪詢winsock1的狀態,直到它變成7,注意最好在迴圈中休眠和doevents釋放CPU,否則有假死的風險。 還有更多。

    首先要做的是宣告用於睡眠的 win32 api

    private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)

    sub command1_click()

    do until

    sleep 1

    doevents

    避免假動畫。 loop

    ttt"end sub

    資源。

  9. 匿名使用者2024-01-22

    偶然看到這個問題,新增了兩個方案。

    計時器、鏈結和傳送資料。

    全域性變數 tm1i=0

    tm1i=tm1i+1

    select case tm1i

    case 1

    connect

    case2if state=7 then senddatadoevents

    end select

    2.伺服器在連線成功後傳送一條訊息,在程式設計師的 dataarrive中收到此訊息後傳送資料。

相關回答
5個回答2024-07-08

**疾病。 一般疾病。

1.動脈硬化,2禿頂,3高膽固醇,4 >>>More

10個回答2024-07-08

原因歸納在以下幾個方面,偶爾會出現,要點:取消,你可以! >>>More

13個回答2024-07-08

新的 excel 例項可以不受系統中其他 excel 程序的影響。 >>>More

4個回答2024-07-08

表示您的 ** 是正確的,但我沒有使用旋鈕控制項,所以我不知道事件的觸發順序。 >>>More

8個回答2024-07-08

先說吧,這要看你以後選擇的專業,我學的是土木工程。 專業不同,有時學習不同,我所看到的,土木工程、建築、化工等都是VB。 >>>More