| 一个SDK里做聊天室的例子(1)
|
|
类别:Asp.net专区
人气:32
|
|
Option Explicit On Option Strict On
Imports System Imports System.IO Imports System.Text Imports System.Threading Imports System.Net Imports System.Net.Sockets Imports System.Drawing Imports System.Windows.Forms Imports Microsoft.VisualBasic
Class App Entry point which delegates to C-style main Private Function Public Overloads Shared Sub Main() Main(System.Environment.GetCommandLineArgs()) End Sub Entry point Overloads Public Shared Sub Main(args() As String) If the args parse in known way then run the app If ParseArgs(args) Then Create a custom Talker object Dim talkerObj As New Talker(endPoint, client) Pass the object reference to a new form object Dim form As New TalkForm(talkerObj) Start the talker "talking" talkerObj.Start() Run the applications message pump Application.Run(form) End If End Sub Main Parsed Argument Storage Private Shared endPoint As IPEndPoint Private Shared client As Boolean Parse command line arguments Private Shared Function ParseArgs(args() As String) As Boolean Try If args.Length = 1 Then client = False endPoint = New IPEndPoint(IPAddress.Any, 5150) Return True End If Dim port As Integer Select Case Char.ToUpper(args(1).ToCharArray()(1)) Case "L"c port = 5150 If args.Length > 2 Then port = Convert.ToInt32(args(2)) End If endPoint = New IPEndPoint(IPAddress.Any, port) client = False Case "C"c port = 5150 Dim address As String = "127.0.0.1" client = True If args.Length > 2 Then address = args(2) port = Convert.ToInt32(args(3)) End If endPoint = New IPEndPoint(Dns.Resolve(address).AddressList(0), port) Case Else ShowUsage() Return False End Select Catch End Try Return True End Function ParseArgs Show sample usage Private Shared Sub ShowUsage() MessageBox.Show("WinTalk [switch] [parameters...]" & ControlChars.CrLf & ControlChars.CrLf & _ " /L [port]" & ControlChars.Tab & ControlChars.Tab & "-- Listens on a port. Default: 5150" & ControlChars.CrLf & _ " /C [address] [port]" & ControlChars.Tab & "-- Connects to an address and port." & ControlChars.CrLf & ControlChars.CrLf & _ "Example Server - " & ControlChars.CrLf & _ "Wintalk /L" & ControlChars.CrLf & ControlChars.CrLf & _ "Example Client - " & ControlChars.CrLf & _ "Wintalk /C ServerMachine 5150", "WinTalk Usage") End Sub ShowUsage End Class App
UI class for the sample Class TalkForm Inherits Form Public Sub New(talke
|
|
|