Option Strict On
'''
''' Provides data for the Winsock.ErrorReceived event.
'''
Public Class WinsockErrorReceivedEventArgs
Inherits System.EventArgs
Private m_errorMsg As String
Private m_function As String
Private m_errorCode As System.Net.Sockets.SocketError
Private m_Details As String
'''
''' Initializes a new instance of the WinsockErrorEventArgs class.
'''
''' A String containing the error message.
Public Sub New(ByVal error_message As String)
Me.New(error_message, Nothing)
End Sub
'''
''' Initializes a new instance of the WinsockErrorEventArgs class.
'''
''' A String containing the error message.
''' A String containing the name of the function that produced the error.
Public Sub New(ByVal error_message As String, ByVal function_name As String)
Me.New(error_message, function_name, Nothing)
End Sub
'''
''' Initializes a new instance of the WinsockErrorEventArgs class.
'''
''' A String containing the error message.
''' A String containing the name of the function that produced the error.
''' A String containing extra details for the error message.
Public Sub New(ByVal error_message As String, ByVal function_name As String, ByVal extra_details As String)
Me.New(error_message, function_name, extra_details, Net.Sockets.SocketError.Success)
End Sub
'''
''' Initializes a new instance of the WinsockErrorEventArgs class.
'''
''' A String containing the error message.
''' A String containing the name of the function that produced the error.
''' A String containing extra details for the error message.
''' A value containing the socket's ErrorCode.
Public Sub New(ByVal error_message As String, ByVal function_name As String, ByVal extra_details As String, ByVal error_code As System.Net.Sockets.SocketError)
m_errorMsg = error_message
m_function = function_name
m_Details = extra_details
m_errorCode = error_code
End Sub
'''
''' Gets a value containing the error message.
'''
Public ReadOnly Property Message() As String
Get
Return m_errorMsg
End Get
End Property
'''
''' Gets a value containing the name of the function that produced the error.
'''
Public ReadOnly Property [Function]() As String
Get
Return m_function
End Get
End Property
'''
''' Gets a value indicating the error code returned by the socket.
'''
''' If it wasn't returned by the socket, it defaults to success.
Public ReadOnly Property ErrorCode() As System.Net.Sockets.SocketError
Get
Return m_errorCode
End Get
End Property
'''
''' Gets a value containing more details than the typical error message.
'''
Public ReadOnly Property Details() As String
Get
Return m_Details
End Get
End Property
End Class
'''
''' Provides data for the Winsock.ConnectionRequest event.
'''
Public Class WinsockConnectionRequestEventArgs
Inherits System.EventArgs
Private _client As System.Net.Sockets.Socket
Private _cancel As Boolean = False
'''
''' Initializes a new instance of the WinsockClientReceivedEventArgs class.
'''
''' A Socket object containing the new client that needs to be accepted.
Public Sub New(ByVal new_client As System.Net.Sockets.Socket)
_client = new_client
End Sub
'''
''' Gets a value containing the client information.
'''
''' Used in accepting the client.
Public ReadOnly Property Client() As System.Net.Sockets.Socket
Get
Return _client
End Get
End Property
'''
''' Gets a value containing the incoming clients IP address.
'''
Public ReadOnly Property ClientIP() As String
Get
Dim rEP As System.Net.IPEndPoint = CType(_client.RemoteEndPoint, System.Net.IPEndPoint)
Return rEP.Address.ToString()
End Get
End Property
'''
''' Gets or sets a value indicating whether the incoming client request should be cancelled.
'''
Public Property Cancel() As Boolean
Get
Return _cancel
End Get
Set(ByVal value As Boolean)
_cancel = value
End Set
End Property
End Class
'''
''' Provides data for the Winsock.StateChanged event.
'''
Public Class WinsockStateChangedEventArgs
Inherits System.EventArgs
Private m_OldState As WinsockStates
Private m_NewState As WinsockStates
'''
''' Initializes a new instance of the WinsockStateChangingEventArgs class.
'''
''' The old state of the Winsock control.
''' The state the Winsock control is changing to.
Public Sub New(ByVal oldState As WinsockStates, ByVal newState As WinsockStates)
m_OldState = oldState
m_NewState = newState
End Sub
'''
''' Gets a value indicating the previous state of the Winsock control.
'''
Public ReadOnly Property Old_State() As WinsockStates
Get
Return m_OldState
End Get
End Property
'''
''' Gets a value indicating the new state of the Winsock control.
'''
Public ReadOnly Property New_State() As WinsockStates
Get
Return m_NewState
End Get
End Property
End Class
'''
''' Provides data for the Winsock.DataArrival event.
'''
Public Class WinsockDataArrivalEventArgs
Inherits System.EventArgs
Private _bTotal As Integer
Private _IP As String
Private _Port As Integer
'''
''' Initializes a new instance of the WinsockDataArrivalEventArgs class.
'''
''' The number of bytes that were received.
''' The source address of the bytes.
''' The source port of the bytes.
Public Sub New(ByVal bytes_total As Integer, ByVal source_ip As String, ByVal source_port As Integer)
_bTotal = bytes_total
_IP = source_ip
_Port = source_port
End Sub
'''
''' Gets a value indicating the number of bytes received.
'''
Public ReadOnly Property TotalBytes() As Integer
Get
Return _bTotal
End Get
End Property
'''
''' Gets a value indicating the data's originating address.
'''
Public ReadOnly Property SourceIP() As String
Get
Return _IP
End Get
End Property
'''
''' Gets a value indicating the data's originating port.
'''
Public ReadOnly Property SourcePort() As Integer
Get
Return _Port
End Get
End Property
End Class
'''
''' Provides data for the Winsock.Connected event.
'''
Public Class WinsockConnectedEventArgs
Inherits System.EventArgs
Private _IP As String
Private _Port As Integer
'''
''' Initializes a new instance of the WinsockConnectedEventArgs class.
'''
''' The source address of the connection.
''' The source port of the connection.
Public Sub New(ByVal source_ip As String, ByVal source_port As Integer)
_IP = source_ip
_Port = source_port
End Sub
'''
''' Gets a value indicating the remote address of the connection.
'''
Public ReadOnly Property SourceIP() As String
Get
Return _IP
End Get
End Property
'''
''' Gets a value indicating the remote port of the connection.
'''
Public ReadOnly Property SourcePort() As Integer
Get
Return _Port
End Get
End Property
End Class
'''
''' Provides data for the Winsock.SendComplete event.
'''
Public Class WinsockSendEventArgs
Inherits System.EventArgs
Private _bTotal As Integer
Private _bSent As Integer
Private _IP As String
'''
''' Initializes a new instance of the WinsockSendEventArgs class.
'''
''' The destination of the bytes sent.
''' The total number of bytes sent.
''' The total number of bytes that were supposed to be sent.
Public Sub New(ByVal dest_ip As String, ByVal bytes_sent As Integer, ByVal bytes_total As Integer)
_IP = dest_ip
_bTotal = bytes_total
_bSent = bytes_sent
End Sub
'''
''' Gets a value indicating the destination of the bytes sent.
'''
Public ReadOnly Property DestinationIP() As String
Get
Return _IP
End Get
End Property
'''
''' Gets a value indicating the number of bytes sent.
'''
Public ReadOnly Property BytesSent() As Integer
Get
Return _bSent
End Get
End Property
'''
''' Gets a value indicating the total number of bytes that should have been sent.
'''
Public ReadOnly Property BytesTotal() As Integer
Get
Return _bTotal
End Get
End Property
'''
''' Gets a value indicating the percentage (0-100) of bytes that where sent.
'''
Public ReadOnly Property SentPercent() As Double
Get
Return (_bSent / _bTotal) * 100
End Get
End Property
End Class
'''
''' Provides data for the WinsockCollection.CountChanged event.
'''
Public Class WinsockCollectionCountChangedEventArgs
Inherits System.EventArgs
Private _oldCount As Integer
Private _newCount As Integer
'''
''' Initializes a new instance of the WinsockCollectionCountChangedEventArgs class.
'''
''' The old number of items in the collection.
''' The new number of items in the collection.
Public Sub New(ByVal old_count As Integer, ByVal new_count As Integer)
_oldCount = old_count
_newCount = new_count
End Sub
'''
''' Gets a value indicating the previous number of items in the collection.
'''
Public ReadOnly Property OldCount() As Integer
Get
Return _oldCount
End Get
End Property
'''
''' Gets a value indicating the current number of items in the collection.
'''
Public ReadOnly Property NewCount() As Integer
Get
Return _newCount
End Get
End Property
End Class
'''
''' Provides data for the Winsock.ReceiveProgress event.
'''
Public Class WinsockReceiveProgressEventArgs
Inherits System.EventArgs
Private _bTotal As Integer
Private _bIn As Integer
Private _IP As String
'''
''' Initializes a new instance of the WinsockReceiveProgressEventArgs class.
'''
''' The source ip of the bytes received.
''' The total number of bytes received.
''' The total number of bytes that were supposed to be received.
Public Sub New(ByVal source_ip As String, ByVal bytes_received As Integer, ByVal bytes_total As Integer)
_IP = source_ip
_bTotal = bytes_total
_bIn = bytes_received
End Sub
'''
''' Gets a value indicating the source of the bytes sent.
'''
Public ReadOnly Property SourceIP() As String
Get
Return _IP
End Get
End Property
'''
''' Gets a value indicating the number of bytes received.
'''
Public ReadOnly Property BytesReceived() As Integer
Get
Return _bIn
End Get
End Property
'''
''' Gets a value indicating the total number of bytes that should be received.
'''
Public ReadOnly Property BytesTotal() As Integer
Get
Return _bTotal
End Get
End Property
'''
''' Gets a value indicating the percentage (0-100) of bytes that where received.
'''
Public ReadOnly Property ReceivedPercent() As Double
Get
Return (_bIn / _bTotal) * 100
End Get
End Property
End Class