Option Strict Off Option Explicit On Imports VB = Microsoft.VisualBasic Friend Class frmIdentd Inherits System.Windows.Forms.Form Public Listening As Boolean Public Sub stopListening() On Error Resume Next logIdent("Stopped Listening") Socket.Close() End Sub Public Sub startListening() Timer1.Enabled = False Timer1.Interval = 60000 On Error Resume Next With Socket 'UPGRADE_NOTE: State was upgraded to CtlState. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' If .CtlState <> MSWinsockLib.StateConstants.sckClosed Then .Close() .LocalPort = CInt(txtPort.Text) logIdent("Listening on port " & .LocalPort) .Listen() End With End Sub Private Sub cmdListen_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdListen.Click If Listening = False Then startListening() Listening = True cmdListen.Text = "S&top Listening" Else stopListening() Listening = False cmdListen.Text = "S&tart Listening" End If End Sub Private Sub socket_CloseEvent(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles socket.CloseEvent logIdent("Remote closed connection") startListening() End Sub Private Sub socket_ConnectionRequest(ByVal eventSender As System.Object, ByVal eventArgs As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles socket.ConnectionRequest With Socket 'UPGRADE_NOTE: State was upgraded to CtlState. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"' If .CtlState <> MSWinsockLib.StateConstants.sckClosed Then .Close() .Accept(eventArgs.requestID) logIdent("Accept Connection from Client : " & .RemoteHost & " " & .RemoteHostIP & ":" & .RemotePort) End With End Sub Private Sub socket_DataArrival(ByVal eventSender As System.Object, ByVal eventArgs As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles socket.DataArrival Dim buffer As String With Socket Timer1.Enabled = False .GetData(buffer) logIdent("Query : " & buffer) buffer = clearCRLF(buffer) & " : USERID : " & txtSystemId.Text & " : " & txtUserId.Text & vbCrLf logIdent("Answer: " & buffer) .SendData(buffer) Timer1.Enabled = True End With End Sub Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick stopListening() startListening() End Sub Private Sub logIdent(ByRef strDebug As String) Debug.Print(strDebug) End Sub Function clearCRLF(ByRef s As String) As String While VB.Right(s, 2) = vbCrLf s = VB.Left(s, Len(s) - 2) End While clearCRLF = s End Function End Class