Newsgroup: it.comp.lang.visual-basic
Titolo: winsock - qualcosa già pronto...

qualcuno ha già fatto una cosa del genere?
devo semplicemente fare un'applicazione che si mette in ascolto su una
porta, visualizzare i dati che arrivano, e poter rispondere con altri dati
ma siccome non ho mai usato winsock,esaminare del codice sarà meglio...
--
ciao
- Xaero -
(sostituisci nospam.x con 
inwind.it
 per rispondere)
"Un'idea che non sia pericolosa non
merita affatto di essere chiamata idea"
                Oscar Wilde

ma siccome non ho mai usato winsock,esaminare del codice sarà meglio...
trovi un'esempio sulla guida in linea di WInsock.
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:osp6ssknsh39v980h...@4ax.com...


provato, ma non funziona
Funziona, funziona...
Allora, ricapitoliamo:
Crea due progetti uguali, uno client e uno server:
In entrambi, nella FOrm1 disegna:
1 Listbox (List1)
1 TextBOx (Text2)
1 Pulsante (Command1)
1 Winsock (Wsck(0))
NElla sez. dichiarazioni del form copia quanto segue:
-----------------------------------------------
Option Explicit
Private i As Integer
Private Connected As Boolean
Private Sub Command1_Click()
Dim text As String
    On Local Error Resume Next
    text = Text2 '''
    If Connected = False Then
        'Start Connection
        i = i + 1
        Load wsck(i)
        wsck(i).LocalPort = 0
        wsck(i).Connect text, 888
    Else
        'Close Connection
        List1.AddItem "** " & text
        wsck(i).SendData text
    End If '
    Text2 = ""
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Dim s As Integer
    For s = 0 To i
        wsckClose s
    Next
End Sub
Private Sub wsck_Connect(index As Integer)
    Dim text As String
    On Local Error Resume Next
    List1.AddItem "Connected to " & wsck(i).RemoteHostIP
    Connected = True
    text = "Connected"
    wsck(i).SendData text
End Sub
Private Sub wsck_ConnectionRequest(index As Integer, ByVal requestID As Long)
    On Local Error Resume Next
    i = i + 1
    Load wsck(i)
    List1.AddItem "Connected"
    wsck(i).Accept requestID
    Connected = True
End Sub
Private Sub wsck_DataArrival(index As Integer, ByVal bytesTotal As Long)
    On Local Error Resume Next
    Dim text As String
    wsck(index).GetData text
    List1.AddItem text
End Sub
Private Sub wsck_Close(index As Integer)
    wsckClose index
End Sub
Private Sub wsck_Error(index As Integer, 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)
    List1.AddItem "Error:" & Description
    wsckClose index
End Sub
Private Sub wsckClose(index As Integer)
    On Local Error Resume Next
    If wsck(index).State <> 0 Then wsck(index).Close
    Connected = False
End Sub
Private Sub Log(text As String)
    On Local Error Resume Next
    Text1 = Right(Text1 & text & vbCrLf, 32000)
    Text1.SelStart = Len(Text1)
End Sub
-------------------------------------------
LE differenze tra il progetto CLient e quello SErver è:
CLIENT:
Private Sub Form_Load()
    On Local Error Resume Next
    wsckClose 0
    wsck(0).LocalPort = 0
    wsck(0).RemotePort = 9000
    wsck(0).RemoteHost = "123.1.1.123"
    wsck(0).Connect wsck(0).RemoteHost, wsck(0).RemotePort
End Sub
SERVER:
Private Sub Form_Load()
    On Local Error Resume Next
    wsckClose 0
    wsck(0).LocalPort = 9000
    wsck(0).RemotePort = 0
    wsck(0).Listen
End Sub
Ovviamente devi sostiutire l'IP del server con quello corretto.
Questo esempio non ricordo se l'ho fatto io, se l'ho copiato da qualche parte o se è tratto dalla
guida in linea: l'ho salvato poiché mi era servito come prova per un programma.
Spero ti sia d'aiuto.
