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 + "小姐: "
一.客戶程序的實(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 + "小姐: "

