Results 1 to 2 of 2

Thread: [RESOLVED] Chat room error

  1. #1

    Thread Starter
    New Member
    Join Date
    Dec 2007
    Posts
    9

    Resolved [RESOLVED] Chat room error

    Hello,

    I just got done creating a very primitive server/client chat program using winsock. I transfered the program to another computer, but when I tried to connect to it I got the error "Address is not available from the local machine". The problem shouldn't be a firewall or anything, since I disabled it on both computers, and I even messed around with my router a bit so it wouldn't block anything.

    Here's the Client application:
    Code:
    Option Explicit
    
    Private Sub btnConnect_Click()
        On Error GoTo connectError
        
        sock1_Close
        sock1.RemoteHost = txtIP.Text
        sock1.Connect
        
    Exit Sub
    
    connectError:
        txtLogAdd ("***Error: " & Err.Description)
    End Sub
    
    Private Sub btnDisconnect_Click()
        sock1_Close
    End Sub
    
    Private Sub btnExit_Click()
        txtLogAdd ("***Exiting")
        sock1_Close
        End
    End Sub
    
    Private Sub btnSend_Click()
        On Error GoTo sendError
        
        sock1.SendData txtChat.Text
        txtLogAdd ("Client: " & txtChat.Text)
        
    Exit Sub
        
    sendError:
        txtLogAdd ("***Error: " & Err.Description)
        sock1_Close
    End Sub
    
    Private Sub sock1_Connect()
        txtLogAdd ("Connected to " & sock1.RemoteHostIP)
    End Sub
    
    Private Sub txtLogAdd(strChat As String)
        Dim minuteAdd As String
        Dim secondAdd As String
        
        If Second(Now) < 10 Then
            secondAdd = "0"
        Else
            secondAdd = ""
        End If
        
        If Minute(Now) < 10 Then
            minuteAdd = "0"
        Else
            minuteAdd = ""
        End If
        
        txtLog.Text = txtLog.Text & "[" & Hour(Now) & ":" & minuteAdd & Minute(Now) & ":" & secondAdd & Second(Now) & "]" & strChat & vbCrLf
    End Sub
    
    Private Sub sock1_DataArrival(ByVal bytesTotal As Long)
        Dim strReceived As String
        
        sock1.GetData strReceived, vbString
        txtLogAdd ("Server: " & strReceived)
    End Sub
    
    Private Sub sock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
        txtLogAdd ("***Error: " & Description)
        sock1_Close
    End Sub
    
    Private Sub sock1_Close()
        sock1.Close
        txtLogAdd ("***Connection Closed")
    End Sub
    And the Server application:
    Code:
    Option Explicit
    
    Private Sub btnClose_Click()
        txtLogAdd ("***Closing Port " & sock1.LocalPort)
        sock1_Close
    End Sub
    
    Private Sub btnExit_Click()
        txtLogAdd ("***Exiting")
        sock1.SendData "Server is terminating"
        sock1_Close
        End
    End Sub
    
    Private Sub btnListen_Click()
        On Error GoTo listenError
        
        sock1_Close
        sock1.LocalPort = txtPort.Text
        sock1.Listen
    Exit Sub
    
    listenError:
        txtLogAdd ("***Error: " & Err.Description)
    End Sub
    
    Private Sub btnSend_Click()
        On Error GoTo sendError
        
        sock1.SendData txtChat.Text
        txtLogAdd ("Server: " & txtChat.Text)
        
    Exit Sub
        
    sendError:
        txtLogAdd ("***Error: " & Err.Description)
        sock1_Close
    End Sub
    
    Private Sub txtLogAdd(strChat As String)
        Dim minuteAdd As String
        Dim secondAdd As String
        
        If Second(Now) < 10 Then
            secondAdd = "0"
        Else
            secondAdd = ""
        End If
        
        If Minute(Now) < 10 Then
            minuteAdd = "0"
        Else
            minuteAdd = ""
        End If
        
        txtLog.Text = txtLog.Text & "[" & Hour(Now) & ":" & minuteAdd & Minute(Now) & ":" & secondAdd & Second(Now) & "]" & strChat & vbCrLf
    End Sub
    
    Private Sub sock1_ConnectionRequest(ByVal requestID As Long)
        If sock1.State <> sckClosed Then
            sock1.Accept requestID
            txtLogAdd ("***Client Connected")
            txtLogAdd ("***IP: " & sock1.RemoteHostIP)
        End If
    End Sub
    
    Private Sub sock1_DataArrival(ByVal bytesTotal As Long)
        Dim strReceived As String
        
        sock1.GetData strReceived, vbString
        txtLogAdd ("Client: " & strReceived)
    End Sub
    
    Private Sub sock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
        txtLogAdd ("***Error: " & Description)
        sock1_Close
    End Sub
    
    Private Sub sock1_Close()
        sock1.Close
        txtLogAdd ("***Connection Closed")
    End Sub
    I would greatly appreciate any help.

  2. #2

    Thread Starter
    New Member
    Join Date
    Dec 2007
    Posts
    9

    Re: Chat room error

    Kind of a stupid error I made. All I needed to do was change sock1.connect to sock1.connect txtIP.text, txtPort.text.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width