===登录==
Option ExplicitPrivate Sub Command1_Click()
    '调用checkdata 函数检查用户名和密码不能为空
    If checkdata = True Then
    
        suser = Trim(Text1.Text)
        spassword = Trim(Text2.Text)
        
        '选择服务器端的和客户端
        
            If Trim(Combo1.Text) = "服务器端" Then
                '检查是否用户存在
    
                Data1.Recordset.FindFirst "name='" & Text1.Text & "' "
                Data1.Recordset.FindFirst "password='" & Text2.Text & "' "
    
                If Data1.Recordset.NoMatch Then '没找到,用户名不存在
                MsgBox "密码或用户名错误,请重新输入!", vbOKOnly, "提示"
                
                Text1.SetFocus
    
                Else                            ' 找到
        
                '显示服务器窗体
                frmserver.Show
                Me.Hide
                
                End If
             Else
            '选择客户端
            'winsock状态连接
                If Winsock1.State = sckConnected Then
                
                '检查是否用户存在
    
                    Data1.Recordset.FindFirst "name='" & Text1.Text & "' "
                    Data1.Recordset.FindFirst "password='" & Text2.Text & "' "
    
                    If Data1.Recordset.NoMatch Then '没找到,用户名不存在
                    MsgBox "密码或用户名错误,请重新输入!", vbOKOnly, "提示"
                
                    Text1.SetFocus
    
                     Else                            ' 找到
        
                    '显示客户端窗体
                        frmclient.Show
                        Me.Hide
                    
                    End If
                End If
            End If
        End If
End SubPrivate Sub Command2_Click()
    End
End SubPrivate Function checkdata() As Boolean
    '用户名称和密码为空
    If Len(Trim(Text1.Text)) <= 0 Or Len(Trim(Text2.Text)) <= 0 Then
        MsgBox "用户名和密码不能为空!"
        Text1.SetFocus
        checkdata = False
    Else
        checkdata = True
    End If
End FunctionPrivate Sub Form_Load()
'主机Ip 地址
    Winsock1.RemoteHost = "192.168.1.8"
    '端口
    Winsock1.RemotePort = 1001
    '连接端口
    Winsock1.Connect
    If Winsock1.State = Not sckConnected Then
        MsgBox "检查网络连接!"
        Command1.Enabled = False
    End If
    
    
End Sub
Private Function checkuser() As Boolean
   Dim Rs As ADODB.Recordset             '声明记录集
    
    Set Rs = New ADODB.Recordset         '建立声明记录集
    Rs.CursorType = adOpenKeyset
    Rs.LockType = adLockBatchOptimistic
    
    If Rs.RecordCount = 1 Then          ' 记录总数
        checkuser = True
    Else
        checkuser = False
    End If
End Function====服务器端=======
Option ExplicitPrivate Sub Command1_Click()
'关于窗体
frmAbout.Show
End Sub
Private Sub Command2_Click()
If Winsock1.State = sckConnected Then       '连接状态    Winsock1.SendData Trim(Textsend.Text)      '发送数据
    Textsend.Text = ""
Else
    MsgBox "无网络连接"
    End If
End SubPrivate Sub Form_Load()
Winsock1.LocalPort = 1002               '指定端口
'开始监听1001端口
Winsock1.Listen
frmclient.Show
End SubPrivate Sub Textsent_Change()
Winsock1.SendData Textsent.Text
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then         '判断关闭状态
    Winsock1.Close                          '关闭winsock控件
End If
    '接收客户端连接
Winsock1.Accept requestID
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim sdata As String
'收到信息
Winsock1.GetData sdata
'添加数据到数据库
Listshow.Text = sdata
End SubPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox "错误代码:" & CStr(Number) & "错误描述:" & Description
End Sub
=====客户端===
Option ExplicitPrivate Sub Command1_Click()
'关于窗体
frmAbout.Show
End Sub
Private Sub Command2_Click()
If Winsock1.State = sckConnected Then       '连接状态    Winsock1.SendData Trim(Textsend.Text)      '发送数据
    Textsend.Text = ""
Else
    MsgBox "无网络连接"
    End If
End SubPrivate Sub Form_Load()
Winsock1.LocalPort = 1002               '指定端口
'开始监听1001端口
Winsock1.Listen
frmclient.Show
End SubPrivate Sub Textsent_Change()
Winsock1.SendData Textsent.Text
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then         '判断关闭状态
    Winsock1.Close                          '关闭winsock控件
End If
    '接收客户端连接
Winsock1.Accept requestID
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim sdata As String
'收到信息
Winsock1.GetData sdata
'添加数据到数据库
Listshow.Text = sdata
End SubPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox "错误代码:" & CStr(Number) & "错误描述:" & Description
End Sub