![]() ![]() |
|
用VB创建自己的通信程序 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:44:34 文章录入:杜斌 责任编辑:杜斌 | |
|
|
Winsock控件建立在TCP、UDP的协议基础上,以完成计算机网络间的通信。下面将详细的介绍具体的程序创建过程,以便使大家更好的理解程序的源代码。 使用说明: FORM的构造如下: Timer控件----MMXControl控件----Gettest控件 Winsock控件----CommandButton控件----Test控件 一段的源程序如下: Dim sign As Boolean Dim flashsign As Boolean Dim con As Boolean Private Sub transfer_Click() On Error GoTo transfererror Timer1.Enabled = False gettext.Text = " 陈涛说:" + sendtext.Text + Chr(13) + Chr(10) + gettext.Text Dim say As String If sign = True Then say = " 陈涛说:" + sendtext.Text + Chr(13) + Chr(10) Winsockout.SendData say Else say = " 陈涛说:" + sendtext.Text + Chr(13) + Chr(10) Winsock1.SendData say End If sendtext.Text = "" Exit Sub transfererror: Dim a As String a = " 计算机还没有进入网络或者是它的相应程序没有运行!" MsgBox (a) End Exit Sub End Sub Private Sub conbut_Click() On Error GoTo connecterror Winsockout.RemoteHost = hostnametext.Text Winsockout.Connect sign = True conbut.Default = False transfer.Default = True Exit Sub connecterror: Dim a As String a = "计算机还没有进入网络或者是它的相应程序没有运行!" Dim b As String b = " 要连接的机器名输入错误," MsgBox (b + a) End Exit Sub End Sub Private Sub exitbut_Click() On Error GoTo exiterror If con = True Then End End If If sign = True Then Winsockout.SendData "中断联接!" Else Winsock1.SendData "中断联接!" End If Exit Sub exiterror: Dim a As String a = "计算机还没有进入网络或者是它的相应程序没有运行!" MsgBox (a) End Exit Sub End Sub
Private Sub Form_Load() Winsock1.Listen sign = False flashsign = True Timer1.Enabled = False con = False conbut.Default = True End Sub Private Sub hostnametext_Change() conbut.Enabled = True End Sub Private Sub Timer1_Timer() If Form1.WindowState = 1 Then If flashsign = True Then Form1.Icon = LoadPicture(App.Path + "\zhcn010.ico") flashsign = False ElseIf flashsign = False Then Form1.Icon = LoadPicture(App.Path + "\zhcn020.ico") flashsign = True End If End If End Sub Private Sub Winsock1_Close() conbut.Enabled = True hostnametext.Enabled = True Winsock1.Close End Sub Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State <> 0 Then Winsock1.Close End If transfer.Default = True If Form1.WindowState = 1 Then Timer1.Enabled = True MMControl1.Notify = False Form1.MMControl1.Wait = True Form1.MMControl1.Shareable = False Form1.MMControl1.DeviceType = "waveaudio" Form1.MMControl1.filename = App.Path + "\mcitest.wav" Form1.MMControl1.Command = "Open" Form1.MMControl1.Command = "play" Form1.MMControl1.Command = "prev" End If conbut.Enabled = False hostnametext.Enabled = False sendtext.Enabled = True gettext.Enabled = True gettext.Text = " 连 接 成 功!" + Chr(13) + Chr(10) sign = False Winsock1.Accept requestID End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim str As String If Form1.WindowState = 1 Then Timer1.Enabled = True MMControl1.Notify = False Form1.MMControl1.Wait = True Form1.MMControl1.Shareable = False Form1.MMControl1.DeviceType = "waveaudio" Form1.MMControl1.filename = App.Path + "\mcitest.wav" Form1.MMControl1.Command = "Open" Form1.MMControl1.Command = "play" Form1.MMControl1.Command = "prev" End If Winsock1.GetData str If str = "中断联接!"Then con = True Winsock1.SendData "可以中断联接!" ElseIf str = "可以中断联接!" Then End End If gettext.Text = str + gettext.Text End Sub Private Sub Winsockout_Close() hostnametext.Enabled = True Winsockout.Close End Sub Private Sub Winsockout_Connect() Form1.WindowState = 0 gettext.Enabled = True sendtext.Enabled = True conbut.Enabled = False gettext.Text = "连接成功!" + Chr(13) + Chr(10) End Sub Private Sub Winsockout_DataAr |
|
![]() ![]() |