• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

System32

Utente Stellare
Autore del topic
2 Gennaio 2010
15.556
112
Miglior risposta
0
Dal momento che sto studiando il Java, mi sono fermato un secondo, e ho pensato di spiegare la funziona del Winsock nell'ambito di uno dei tanti linguaggio di Programmazione ad altro livello, ovvero il Visual Basic 2008, oggi noto come VB.NET perchè si basa sul .NET Framework e quindi tutti i suoi componenti.

Per chi non lo sapesse, il winsock è una liberia ( quindi una dell ) utilizzata nell'ambito di Microsoft Windows, semplifica l'utilizzo dei protocolli di rete TCP/IP. Oggi i Winsock vengono usati principalmente per creare dell BackDoor ( i cosi detti RAT [ Remote Administration Tool ] ). Ma non sono, gli stessi Firewall sono progettati basandosi sui Winsock, proprio per consentire il traffico di pacchetti TCP/IP | IP/UDP | TCP/UDP.

Fatto questo piccolo accenno, passiamo alla parte pratica :

[*] Connect

Per fare in modo che 2 Winsock si connettano tra di loro, è necessario impostare l'Internet Protocol ( o come viene oggi chiamato in modo abbreviato IP ) e la porta tramite la quale l'applicazione ( ovviamente il Client, perchè il Server riceverà SOLO la connessione del Client ) si connetterà.

Per fare questo, dobbiamo utilizzare la seguente sintassi :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

[*] DataArrival

Questo serve per ricevere i dati che stiamo scambiando con il Winsock cui ci siamo connessi, con la seguente sintassi :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

[*] SendData

Questo frammento di codice ci servirà per poter inviare dati al Winsock cui siamo connessi, con la seguente sintassi :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

[*] Error

Questa funzione avviene quando il Winsock non riesce a connettesi, o perchè abbiamo settato male la porta, o sbagliato la sintassi, o direttamente perchè non siamo connessi ad Internet, quindi lo scambio di pacchetti tra i Winsock non avviene. Per rendercene conto, quando scriviamo il source di un programma che usa i Winsock, possiamo mettere una MsgBox per avvertirci del fatto che il Winsock non è riuscito a connettersi, con la seguente sintassi :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

[*] Listen

Fin ora abbiamo parlato di SendData e di DataArrival, ma come detto sopra i Winsock hanno bisogno di una porta ( ovviamente inventata da noi, ma che comunque deve essere settata ia sul Server [ che è in ascolto sia nel Client stesso ), con il seguente codice :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

In questo modo diciamo al compilatore che i Winsock si connetteranno tramite la porta 411 ( puramente casuale, voi potete mettere quella che volete ).

[*] Multiconnessione tra Winsock

Molti si staranno chiedendo se è possibile fare una Multiconnessione tra 2 Winsock, e la risposta è : Sì è possibile. Il Winsock è impostato in modo che si possono accettare più connessioni tra un IP e l'altro, altrimenti non potremo aprire più di una pagina Internet alla volta se il Winsock non avesse la Multiconnessione, e per fare questo abbiamo bisogno di una Funzione, ma prima di tutto dobbiamo scrivere questo frammento di codice che "apre" la Multiconnessione :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Utilizzando la variabile "n", possiamo dire al compilatore ( quindi al programma ) con una Funzione, di avviare una Multiconnessione per ogni "n" scelti da noi. Il tutto è possibile con questa funzione :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Oppure

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

In questo modo, per ogni "n" cioè per ogni numero di Winsock che abbiamo messo, il programma potrà avviare più Connessioni.

[*] Connessione

Come detto sopra, il Winsock deve connettersi, e per fare questo usiamo questo frammento di codice :

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Fine Guida, spero sia utile e chiara.

Saluti, System32

Fonte:
Perfavore, Entra oppure Registrati per vedere i Link!
 
Ultima modifica da un moderatore:
per questa volta la fonte la inserisco io ;)

la prossima volta mettila ^^
 
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

I commenti sono uguali sia di la che di qua. E' inutile fare guide su cose che non si conoscono.