用VisualBasic6.0編寫客戶服務(wù)器程序

字號:

Visual Basic6.0提供了Winsock控件,支持網(wǎng)絡(luò)上兩臺計算機(jī)之間的通信。利用它,編程人員可以毫不費(fèi)力地編寫出TCP/IP客戶/服務(wù)器程序。以下是用Visual Basic6.0的Winsock控件編寫的網(wǎng)絡(luò)聊天程序的實(shí)例。
    一.客戶程序的實(shí)現(xiàn)方法:
    1.客戶程序設(shè)置RemoteHost(遠(yuǎn)程主機(jī))屬性,指定運(yùn)行服務(wù)器的主機(jī)名。
    2.通過設(shè)置RemotePort屬性,指定服務(wù)器程序的偵聽端口。
    3.客戶程序使用Connect方法向服務(wù)器發(fā)送連接請求。
    4.服務(wù)器若空閑,則接受客戶的請求,客戶程序發(fā)生Connect事件,然后可以用SendData方法發(fā)送數(shù)據(jù)。
    5.客戶程序收到數(shù)據(jù)時,產(chǎn)生DataArrival事件,在該事件中可以用GetData方法接收數(shù)據(jù)。
    6.如果客戶收到Close事件,用Close方法關(guān)閉連接。
    以下是客戶程序的編寫過程:
    1. 新建一個工程文件,在窗體中加上一個文本框Name為txtRecive,設(shè)置 MultiLine屬性為True。設(shè)置ScrollBars屬性為3-Both。
    2. 加一標(biāo)簽,Caption為“您的大名:”,后面加一文本框Name為ClientName。
    3. 加一標(biāo)簽,Caption為“您的性別:”,后面接一組合框Name為“xingbie“。組合框中加兩個OptionButton,分別為Option1,Caption為“男”,Value為True,Option2,Caption為“女”。
    4. 加文本框txtSent,設(shè)置MultiLine屬性為True。
    5. 加命令按鈕cmdSent,Caption為“發(fā)送”, 再加一命令按鈕cmdConnect,Caption為“連接”。
    6. 加Winsock控件,Name為sckClient。
    下面是客戶程序的源代碼:
    Dim messIndex As Integer
    Dim firsttime As Boolean
    Dim recNumber As Integer
    Dim strData As String
    Private Sub cmdConnect_Click()
    On Error GoTo MyError
    sckClient.Connect
    Exit Sub
    MyError:
    MsgBox "連接服務(wù)器出錯!", vbOKOnly, "系統(tǒng)提示"
    Exit Sub
    End Sub
    Private Sub cmdSent_Click()
    Dim name As String
    If txtSent.Text = "" Then
    MsgBox "您想要說什么?", vbOKOnly, "系統(tǒng)提示"
    Exit Sub
    End If
    If Option1.Value = True Then
    name = clientname.Text + "先生: "
    Else
    name = clientname.Text + "小姐: "