⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10-3.frm

📁 vb6.0编程实例详解,很详细的介绍,对学习VB有帮助
💻 FRM
字号:
VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form Form1 
   Caption         =   "网络聊天程序演示"
   ClientHeight    =   6945
   ClientLeft      =   165
   ClientTop       =   735
   ClientWidth     =   7080
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   ScaleHeight     =   6945
   ScaleWidth      =   7080
   StartUpPosition =   3  '窗口缺省
   Begin MSWinsockLib.Winsock Winsock2 
      Left            =   600
      Top             =   120
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   393216
   End
   Begin MSWinsockLib.Winsock Winsock1 
      Left            =   120
      Top             =   120
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   393216
   End
   Begin VB.TextBox Text2 
      Enabled         =   0   'False
      Height          =   3375
      Left            =   0
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   1
      Top             =   3555
      Width           =   7095
   End
   Begin VB.TextBox Text1 
      Enabled         =   0   'False
      Height          =   3495
      Left            =   0
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   0
      Top             =   0
      Width           =   7095
   End
   Begin VB.Menu File 
      Caption         =   "文件"
      Begin VB.Menu Listen 
         Caption         =   "监听"
      End
      Begin VB.Menu Connect 
         Caption         =   "连接"
      End
      Begin VB.Menu Disconnect 
         Caption         =   "断开"
      End
      Begin VB.Menu Separate 
         Caption         =   "-"
      End
      Begin VB.Menu Exit 
         Caption         =   "退出"
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim TextString As String

Private Sub Connect_Click()
    Disconnect_Click '结束连接(监听)
    Winsock2.RemoteHost = InputBox("请输入服务器主机名(IP 地址)", "输入", "127.0.0.1")
    Winsock2.RemotePort = Val(InputBox("请输入服务器端口号", "输入", 1024))
    Winsock2.Connect '申请连接
    Connect.Enabled = False
End Sub

Private Sub Disconnect_Click()
    If Disconnect.Caption = "结束监听" Then
        Winsock1.Close
        Listen.Enabled = True
        Disconnect.Caption = "断开"
    Else
        Winsock2.Close
        Connect.Enabled = True
        Text2.Enabled = False
    End If
End Sub

Private Sub Exit_Click()
    Unload Me
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Winsock1.Close
    Winsock2.Close
End Sub

Private Sub Listen_Click()
    Winsock1.LocalPort = Val(InputBox("请输入监听端口号(通常大于 1024)", "输入", 1024))
    If Winsock1.LocalPort > 0 Then
    '输入了端口号
        Disconnect_Click
        Winsock1.Listen
        Listen.Enabled = False
        Disconnect.Caption = "结束监听"
    End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
    If KeyAscii <> 13 Then
        TextString = TextString + Chr(KeyAscii)
    Else
        Text1 = Text1 + TextString + Chr(13) + Chr(10)
        Winsock2.SendData TextString
        TextString = ""
    End If
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
'控件监听到网络连接申请时,触发该事件
    Winsock1.Close '停止监听
    Listen.Enabled = True
    Connect.Enabled = False
    Disconnect.Caption = "断开"
    Winsock2.Accept requestID
    Text2.Enabled = True
End Sub

Private Sub Winsock2_Close()
'对方关闭连接时,控件触发该事件通知程序
    Winsock2.Close
    Connect.Enabled = True
    Text2.Enabled = False
End Sub

Private Sub Winsock2_Connect()
'当控件申请并成功实现连接时,触发该事件
    Text2.Enabled = True
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
'控件收到数据时,触发该事件
    Dim Str As String
    
    Winsock2.GetData Str '接收数据
    
    Text1 = Text1 + Str + Chr(13) + Chr(10) '显示数据
End Sub

Private Sub Winsock2_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)
'控件产生网络错误
    Text1 = Text1 + Description + Chr(13) + Chr(10)
    Select Case Number
        Case 10061
            Winsock2.Close
            Connect.Enabled = True
    End Select
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -