The UDPChat-Server Source(VB.NET)

发表于:2007-06-30来源:作者:点击数: 标签:
@#I use Winsock Control SP5( VB 6) Public Class frmMain Inherits System.Windows.Forms.Form #Region Windows 窗体设计器生成的代码 Public Sub New() MyBase.New() @#该调用是 Windows 窗体设计器所必需的。 InitializeComponent() @#在 InitializeCompo
@#I use Winsock Control SP5(VB6)

Public Class frmMain
    Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        @#该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        @#在 InitializeComponent() 调用之后添加任何初始化

    End Sub

    @#窗体重写处置以清理组件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    @#Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    @#注意:以下过程是 Windows 窗体设计器所必需的
    @#可以使用 Windows 窗体设计器修改此过程。
    @#不要使用代码编辑器修改它。
    Friend WithEvents txtChatLog As System.Windows.Forms.TextBox
    Friend WithEvents pelSaid As System.Windows.Forms.Panel
    Friend WithEvents txtSaid As System.Windows.Forms.TextBox
    Friend WithEvents btnSend As System.Windows.Forms.Button
    Friend WithEvents sckServer As AxMSWinsockLib.AxWinsock
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmMain))
        Me.txtChatLog = New System.Windows.Forms.TextBox()
        Me.pelSaid = New System.Windows.Forms.Panel()
        Me.btnSend = New System.Windows.Forms.Button()
        Me.txtSaid = New System.Windows.Forms.TextBox()
        Me.sckServer = New AxMSWinsockLib.AxWinsock()
        Me.pelSaid.SuspendLayout()
        CType(Me.sckServer, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        @#
        @#txtChatLog
        @#
        Me.txtChatLog.Dock = System.Windows.Forms.DockStyle.Top
        Me.txtChatLog.Multiline = True
        Me.txtChatLog.Name = "txtChatLog"
        Me.txtChatLog.ReadOnly = True
        Me.txtChatLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
        Me.txtChatLog.Size = New System.Drawing.Size(392, 328)
        Me.txtChatLog.TabIndex = 0
        Me.txtChatLog.TabStop = False
        Me.txtChatLog.Text = ""
        @#
        @#pelSaid
        @#
        Me.pelSaid.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnSend, Me.txtSaid})
        Me.pelSaid.Dock = System.Windows.Forms.DockStyle.Bottom
        Me.pelSaid.Location = New System.Drawing.Point(0, 332)
        Me.pelSaid.Name = "pelSaid"
        Me.pelSaid.Size = New System.Drawing.Size(392, 34)
        Me.pelSaid.TabIndex = 1
        @#
        @#btnSend
        @#
        Me.btnSend.Location = New System.Drawing.Point(296, 5)
        Me.btnSend.Name = "btnSend"
        Me.btnSend.Size = New System.Drawing.Size(80, 24)
        Me.btnSend.TabIndex = 0
        Me.btnSend.Text = "Send"
        @#
        @#txtSaid
        @#
        Me.txtSaid.Location = New System.Drawing.Point(8, 6)
        Me.txtSaid.Name = "txtSaid"
        Me.txtSaid.Size = New System.Drawing.Size(280, 21)
        Me.txtSaid.TabIndex = 0
        Me.txtSaid.Text = ""
        @#
        @#sckServer
        @#
        Me.sckServer.Enabled = True
        Me.sckServer.Location = New System.Drawing.Point(16, 8)
        Me.sckServer.Name = "sckServer"
        Me.sckServer.OcxState = CType(resources.GetObject("sckServer.OcxState"), System.Windows.Forms.AxHost.State)
        Me.sckServer.Size = New System.Drawing.Size(28, 28)
        Me.sckServer.TabIndex = 2
        @#
        @#frmMain
        @#
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(392, 366)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.sckServer, Me.pelSaid, Me.txtChatLog})
        Me.MaximizeBox = False
        Me.MaximumSize = New System.Drawing.Size(400, 400)
        Me.MinimumSize = New System.Drawing.Size(400, 400)
        Me.Name = "frmMain"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "UDPChat-Server"
        Me.pelSaid.ResumeLayout(False)
        CType(Me.sckServer, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region

#Region "Winsock Event"

    Private Sub sckServer_ConnectionRequest(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles sckServer.ConnectionRequest
        txtChatLog.AppendText("Request of Connecting from " & e.requestID & vbCrLf)
        txtChatLog.AppendText("Request Aclearcase/" target="_blank" >ccepted...." & vbCrLf)
        sckServer.Accept(e.requestID)
        sckServer.SendData("Connection Accepted...." & vbCrLf)
    End Sub

    Private Sub sckServer_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles sckServer.DataArrival
        Dim objData As Object
        sckServer.GetData(objData, vbString)
        txtChatLog.AppendText("Client: " & CStr(objData) & vbCrLf)
    End Sub

#End Region

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sckServer.RemoteHost = "127.0.0.1"
        sckServer.RemotePort = 8000
        sckServer.Bind(1000)
        txtChatLog.AppendText("Binded to localhost at 1000 and Remote port 8000" & vbCrLf)
    End Sub

    Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
        If txtSaid.Text.Trim = "" Then
            MsgBox("Please input the chat the contents", MsgBoxStyle.OKOnly, "UDPChat-Server")
            Exit Sub
        End If

        Try
            txtChatLog.AppendText("Server: " & txtSaid.Text & vbCrLf)
            sckServer.SendData(CType(txtSaid.Text, Object))
            txtSaid.Text = ""
        Catch
            MsgBox("Error Occured " & Err.Description & vbCrLf & Err.Number, MsgBoxStyle.OKOnly, "UDPChat-Server")
        End Try
    End Sub

    Private Sub txtSaid_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtSaid.KeyPress
        If (e.KeyChar = Chr(13)) Then
            btnSend_Click(sender, New System.EventArgs())
        End If
    End Sub
End Class

原文转自:http://www.ltesting.net