Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB6] Server/Client non dialogano

    è la mia prima applicazione con il winsock ma non capisco perchè non funziona

    server:

    Private Sub Chiudi_Click()
    Winsock1.Close
    Unload Me
    End Sub

    Private Sub Apriporta_Click()
    Winsock1.Close
    Winsock1.LocalPort = Text2.Text
    Winsock1.Listen
    End Sub

    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    risp = MsgBox("Accettare la connessione di " & requestID & "?", vbYesNo + vbQuestion, "")
    If risp = vbYes Then
    Winsock1.Close
    Winsock1.LocalPort = 0
    Winsock1.Accept requestID
    If Winsock1.State = 7 Then
    MsgBox "Connessione avvenuta con " & requestID, vbInformation, ""
    ElseIf Winsock1.State Then
    MsgBox "Errore durante la connessione con " & requestID, vbCritical, ""
    Else
    MsgBox "Errore", vbCritical, ""
    End If
    End If
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim a As String
    Winsock1.GetData a
    Text1.Text = Text1.Text & a & vbCrLf
    End Sub


    client:

    Private Sub Inviadati_Click()
    If Winsock1.State <> 7 Then Exit Sub
    Winsock1.SendData Text1.Text
    MsgBox "Dati inviati!", vbInformation, ""
    End Sub

    Private Sub Chiudi_Click()
    Winsock1.Close
    Unload Me
    End Sub

    Private Sub Connetti_Click()
    tmp = Split(Text2.Text, ":")
    Winsock1.Connect tmp(0), tmp(1)
    End Sub

    Private Sub Timer1_Timer()
    If Winsock1.State = 7 Then
    Label1.Caption = "Connesso"
    Else
    Label1.Caption = "Disconnesso"
    End If
    End Sub

    Private Sub Winsock1_Connect()
    Label1.Caption = "Connesso"
    End Sub


    a connettersi si connette, solo che non ricevo i dati quando li invio... cosa ho sbagliato??
    ( \_/ )
    ( *.* )
    ( > < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

  2. #2
    Utente di HTML.it L'avatar di hkproj
    Registrato dal
    Jul 2006
    Messaggi
    250
    se non sbaglio, qui non hai invocato il metodo Listen del winsock dopo averlo chiuso
    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    risp = MsgBox("Accettare la connessione di " & requestID & "?", vbYesNo + vbQuestion, "")
    If risp = vbYes Then
    Winsock1.Close 'Qui chiudi il Winsock, ma quando lo rimetti in ascolto?
    Winsock1.LocalPort = 0
    'Qui dovresti mettere Winsock1.Listen
    Winsock1.Accept requestID
    If Winsock1.State = 7 Then
    MsgBox "Connessione avvenuta con " & requestID, vbInformation, ""
    ElseIf Winsock1.State Then
    MsgBox "Errore durante la connessione con " & requestID, vbCritical, ""
    Else
    MsgBox "Errore", vbCritical, ""
    End If
    End If
    End Sub
    Ciao
    --------------------HkProj------------------

  3. #3
    ho provato a mettere winsock1.listen come dici ma mi ha dato errore:

    Operazione non valida allo stato corrente
    ( \_/ )
    ( *.* )
    ( > < ) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.