#Region "IP"
''' <summary>
''' Gibt den IP-Adresse auf dem Remote Computer zurück, über den eine
' Verbindung hergestellt werden soll, oder legt den Anschluß fest.
''' </summary>
<Browsable(False)> _
Public ReadOnly Property RemoteHostIP() As String
Get
Return _RemoteIP
End Get
End Property
''' <summary>
''' Gibt den Name auf dem Remote Computer zurück, über den eine Verbindung
' hergestellt werden soll, oder legt den Anschluß fest.
''' </summary>
<Browsable(False)> _
Public ReadOnly Property RemoteHostName() As String
Get
Return _RemoteHostName
End Get
End Property
''' <summary>
''' gibt die IP-Adresse des lokalen Computers zurück.
''' </summary>
<Browsable(False)> _
Public ReadOnly Property LokalHostIP() As String
Get
Return "127.0.0.1"
End Get
End Property
''' <summary>
''' Gibt den Name des lokalen Computers zurück.
''' </summary>
<Browsable(False)> _
Public ReadOnly Property LokalHostName() As String
Get
Return _LocalHostName
End Get
End Property
#End Region
#Region "Senden"
''' <summary>
''' Sendet Daten an den Remote Computer.
''' </summary>
''' <param name="Data">Übergibt die Daten als String weiter, die
' gesendet werden soll.</param>
Public Sub SendData(ByVal Data As String)
If _Protokoll = WinsockProtocol.TCP Then
Dim sendBytes() As Byte = StringToBytes(Data)
Me.SendData(sendBytes)
ElseIf _Protokoll = WinsockProtocol.UDP Then
Dim sendBytes() As Byte = StringToBytes(Data)
Me.SendData(sendBytes)
End If
End Sub
''' <summary>
''' Sendet Daten an den Remote Computer.
''' </summary>
''' <param name="Data">Übergibt die Daten als Bytes Arrays weiter, die
' gesendet werden soll.</param>
Public Sub SendData(ByVal Data() As Byte)
If _Protokoll = WinsockProtocol.TCP Then
Select Case Status
Case WinsockStates.Closed
MsgBox("Die Verbindung ist geschlossen, um zu Senden muss" & _
"erst eine Verbindung herzustellt werden!", CType(48, _
MsgBoxStyle), Application.ProductName)
Case WinsockStates.Listening
'listening
Case WinsockStates.Connected
Try
'Dim Header() As Byte = StringToBytes("PL" &
' SizeToString(Data.Count - 1))
'_ClientServerTCP.Send(Header)
_ClientServerTCP.Send(Data)
Catch ex As Exception
Me.Close()
ChangeState(WinsockStates.Error)
CrossThread.RunGui(AddressOf DoHandleError, ex.HResult, _
ex.Message)
End Try
End Select
ElseIf _Protokoll = WinsockProtocol.UDP Then
Select Case Status
Case WinsockStates.Closed
MsgBox("Die Verbindung ist geschlossen, um zu Senden muss" & _
"erst eine Verbindung herzustellt werden!", CType(48, _
MsgBoxStyle), Application.ProductName)
Case WinsockStates.Listening
'listening
Case WinsockStates.Connected
Try
_ClientServerUDP.Send(Data)
Catch ex As Exception
Me.Close()
ChangeState(WinsockStates.Error)
CrossThread.RunGui(AddressOf DoHandleError, ex.HResult, _
ex.Message)
End Try
End Select
End If
End Sub
#End Region |