用VB5 Winsock控件創(chuàng)建TCP/IP通訊程序 隨著Windows 95中文版和Windows NT Server 4.0中文版的流行, Microsoft公司推出了相應平臺上的開發(fā)軟件: Visual Basic 5.0 中文企業(yè) 版。它為Windows環(huán)境下的網絡開發(fā)提供了強大的工具,Winsock控件就是其中之一。 Winsock控件建立在TCP、UDP協(xié)議的基礎上,完成與遠程計算機的通信。即使對TCP/IP不太熟悉的用戶,使用該控件也可以在十幾分鐘內創(chuàng)建一個簡單的客戶機/服務器程序。下面我們對Winsock控件的事件、方法、屬性按其在程序中出現(xiàn)的順序分別作詳細的介紹,以便更好地理解程序源代碼。
站在用戶的角度思考問題,與客戶深入溝通,找到三穗網站設計與三穗網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站建設、網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、網絡空間、企業(yè)郵箱。業(yè)務覆蓋三穗地區(qū)。
Imports System.Threading
Public Class Form1
Dim t1, t2 As Thread
Dim tt1
Private Delegate Sub voiddelegate(ByVal i As Integer)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Form2.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
t1 = New Thread(AddressOf test)
tt1 = 1
t1.Start()
tt1 = 2
t2 = New Thread(AddressOf test)
t2.Start()
' Timer1.Start()
End Sub
Private Sub updateui(ByVal i As Integer)
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
'把循環(huán)放到線程中運行會好一些,其實主要事務是對窗體控件的操作時多線程意義不大,因為訪問窗體的代碼依然要在窗體線程中運行。
Private Sub test()
Dim d As voiddelegate = AddressOf updateui
For i = 0 To 9000
Me.Invoke(d, i)
Next
End Sub
'如果放在計時器中運行效果好的多
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Integer = 0
i += 1
If i 9000 Then Timer1.Stop() : i = 0
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
End Class
'如果在另一線程中用Application.run 打開窗體確實能行,不過窗體間相互操作不起作用,這個尚待研究中。
很不明白你的問題,你向數(shù)據(jù)庫里寫數(shù)據(jù)竟然會有沖突的危險,那實在不明白你數(shù)據(jù)庫是怎么設計的了,,,,如果可以,列出你會發(fā)生沖突的數(shù)據(jù)庫表結構看看,看看你是怎么發(fā)生沖突的
如果底層傳輸協(xié)議使用的是TCP協(xié)議的話
是保持連接的
如果是UDP是不保持連接的!
Button類如果不顯示,看看你的命名空間是否包含進來啦!因該是這個名字空間System.Windows.Forms
用WebService或者Remoting,提交服務器處理
___________________________
只要你的并發(fā)數(shù)并不大,sqlserver有并發(fā)控制,更新數(shù)據(jù)時會鎖住