Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [winsock]

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    [winsock]

    eccomi qui...


    come faccio io a inviare dei dati tramite winsock?

    ho un form, uno scrive dentro a un txt numero ip e porta del destinatario, poi schiaccia connetti... io devo inviare ( e ricevere)

    il contenuto di una textbox... fare tipo una chat?

    winsock.sendata e cosa scrivo?

    HELP

    (ditemi se avete capito 0)

  2. #2
    devi fare 2 programmi
    che comunicano uno con l'altro

    uno è il server (aspetta la connessione)
    e l'altro è il client (si connette)





    CLIENT
    un Winsock che si chiami tcpClient
    una textbox che si chiami txtSendData
    una textbox che si chiami txtOutput
    una textbox che si chiami txtIP
    un bottone che si chiami cmdConnect

    CODICE CLIENT
    codice:
    Private Sub cmdConnect_Click()
    tcpClient.RemoteHost = txtIP.Text
    tcpClient.RemotePort = 1001
    tcpClient.Connect
    End Sub
    
    Private Sub txtSendData_Change()
    tcpClient.SendData txtSendData.Text
    End Sub
    
    Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    tcpClient.GetData strData
    txtOutput.Text = strData
    End Sub




    SERVER
    un Winsock che si chiami tcpServer
    una textbox che si chiami txtSendData
    una textbox che si chiami txtOutput

    CODICE SERVER
    codice:
    Private Sub Form_Load()
    tcpServer.LocalPort = 1001
    tcpServer.Listen
    End Sub
    
    Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
    If tcpServer.State <> sckClosed Then _
    tcpServer.Close
    tcpServer.Accept requestID
    End Sub
    
    Private Sub txtSendData_Change()
    tcpServer.SendData txtSendData.Text
    End Sub
    
    Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    tcpServer.GetData strData
    txtOutput.Text = strData
    End Sub





    Componi questi due programmi (differenti)
    poi avvia i due EXE Client e Server

    sul client scrivi nella textbox txtIP
    il numero IP del server (in questo caso
    lo stesso computer quindi

    localhost oppure 127.0.0.1

    poi clikka il button cmdConnect

    a quel punto il Server e il Client si comunicano
    e se scrivi sulla text di uno, appare in quella
    dell'altro (programma)

    chiaro?

    se non riesci a farli fungere, ti posso mandare il
    programma già fatto...
    mi basta la tua email...

    CIAO!
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    bene... ho modificato cosi:

    SERVER

    Private Sub cmdconnetti_Click()
    tcpserver.Listen
    End Sub

    Private Sub cmddisconnetti_Click()
    tcpserver.Close
    End Sub

    Private Sub Form_Load()
    tcpserver.Listen
    End Sub

    Private Sub tcpserver_ConnectionRequest(ByVal requestID As Long)
    If tcpstate <> sktClosed Then
    tcpsever.Close
    tcpserver.Accept requestID
    txtIP.Text = tcpserver.RemoteHostIP
    TxtPorta.Text = tcpserver.RemotePort
    End If
    End Sub


    Private Sub tcpserver_DataArrival(ByVal bytesTotal As Long)
    Dim datiarrivo As String
    tcpserver.GetData datiarrivo
    txtEntrata.Text = datiarrivo
    txtbytes.Text = tcpserver.BytesReceived
    End Sub

    Private Sub txtUscita_Change()
    tcpserver.SendData txtUscita.Text
    End Sub


    CLIENT

    Private Sub cmdconnetti_Click()
    tcpserver.Listen
    End Sub

    Private Sub cmddisconnetti_Click()
    tcpserver.Close
    End Sub

    Private Sub Form_Load()
    tcpserver.Listen
    End Sub

    Private Sub tcpserver_ConnectionRequest(ByVal requestID As Long)
    If tcpstate <> sktClosed Then
    tcpsever.Close
    tcpserver.Accept requestID
    txtIP.Text = tcpserver.RemoteHostIP
    TxtPorta.Text = tcpserver.RemotePort
    End If
    End Sub


    Private Sub tcpserver_DataArrival(ByVal bytesTotal As Long)
    Dim datiarrivo As String
    tcpserver.GetData datiarrivo
    txtEntrata.Text = datiarrivo
    txtbytes.Text = tcpserver.BytesReceived
    End Sub

    Private Sub txtUscita_Change()
    tcpserver.SendData txtUscita.Text
    End Sub




    DOVE SBAGLIO???

  4. #4
    forse non hai capito bene come funziona

    POTRESTI PER FAVORE USARE LE MIE SORGENTI CHE TI HO
    DATO NEL POST SOPRA?

    le tue sono completamente sbagliate

    sia il Client che il Server
    si mettono in LISTEN

    invece il Server in LISTEN
    il client deve CONNECT

    chiaro?

    sono le basi del winsock

    prendi le mie sorgenti,
    falle funzionare, e poi semmai fai delle modifiche

    ok?

    se non riesci a farle fungere dammi una email
    che ti mando il progetto funzionante!

    ciao!
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Originariamente inviato da imente


    le tue sono completamente sbagliate

    nn dirmi cosi chew mi demoralizzzo!


    cmq...

    io mi diletto solamente con VB... per in tanto....

    i tuoi sorgenti originali funzionano, solo che dal server al client non vanno! cioè... se scrivo qualcosa nel text del client sul server si vede, viceversa no!

    ... nel mio ci sono alcuni errori... ho ripetuto un po di cosette... non è che potresti dare un occhiata a quello che ho scritto io ( o meglio cambiato dal tuo?)

    grazie mille

  6. #6
    non tela prendere e non ti demoralizzare!

    sono errori comuni...

    cmq le mie non sono sbagliate

    io le faccio comunicare da client a server
    e da server a client

    se scrivi nelle rispettive textbox txtSend
    vedrai che nelle rispettive textbox txtOutput

    appare il testo

    a questo punto ti PREGHEREI di dirmi la tua email

    la mia è imente@virgilio.it

    così ti mando le MIE sorgenti... e vedrai che
    fungono

    se ho notato bene le differenze sono:
    display dimensioni data ricevuta
    e aggiunta di un tasto disconnect (mi raccomando!
    CONNECT solo sul client, DISCONNECT su entrambi!)

    ok?

    quindi dammi l'email che mando tutto
    (se non vuoi "pubblicizzarla" sul forum
    manda una email alla mia mail che ti rispondo
    all'indirizzo che mi arriva

    ciao
    san imente saluta

    * http://simonecingano.it *

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    burton_tel0@hotmail.com

    non ho problemi a dare la mia e-mail....


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 © 2024 vBulletin Solutions, Inc. All rights reserved.