begin process at 2012 02 17 05:07:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > GESTION DE SOCKET EN VB.NET

GESTION DE SOCKET EN VB.NET


 Information sur la source



 Description

Ce bout de code permet de gérer des sockets automatiquement, en effet on peux créer autant de socket que l'on souhaite et une classe container gère la disponibilité des sockets
Ainsi associé a du multithread on peut parallélisé les sockets en sachant leur statuts

Source

  • Public Class C_SOCKET
  • Public SOCKET_SOCK As System.Net.Sockets.NetworkStream
  • Public SOCKET_STATE As String = "Free"
  • End Class
  • Public Class C_STREAM
  • ' Adresse Ip du serveur au format texte EX "127.0.0.1"
  • Private STREAM_IP As String
  • ' Port du server
  • Private STREAM_PORT As String
  • ' Nombre Max de socket
  • Private STREAM_MAX As Integer
  • ' Tableau de 32 Connexion potentiel
  • Private STREAM_UNIT() As C_SOCKET
  • 'Init des sockets stream plus blocage des socket au dessus de max
  • Public Sub New(ByVal IP As String, ByVal PORT As Int32, Optional ByVal MAX As Int32 = 16)
  • Array.Resize(Me.STREAM_UNIT, MAX)
  • Me.STREAM_IP = IP
  • Me.STREAM_PORT = PORT
  • For i = 0 To MAX - 1
  • Me.STREAM_UNIT(i) = New C_SOCKET
  • Next
  • End Sub
  • 'Ferme le socket envoyé en paramatres
  • Public Sub STREAM_CLOSE_STREAM(ByVal This_Stream As C_SOCKET)
  • This_Stream.SOCKET_SOCK.Close()
  • This_Stream.SOCKET_STATE = "Free"
  • End Sub
  • 'Creer un nouveau socket stream si un sock est dispo
  • Public Function STREAM_NEW_STREAM()
  • For Each Line In Me.STREAM_UNIT
  • If (Line.SOCKET_STATE = "Free") Then
  • Line.SOCKET_STATE = "Used"
  • Line.SOCKET_SOCK = New System.Net.Sockets.TcpClient(Me.STREAM_IP, Me.STREAM_PORT).GetStream
  • Return Line
  • Exit For
  • End If
  • Next
  • Return False
  • End Function
  • End Class
Public Class C_SOCKET
    Public SOCKET_SOCK As System.Net.Sockets.NetworkStream
    Public SOCKET_STATE As String = "Free"
End Class

Public Class C_STREAM
    ' Adresse Ip du serveur au format texte EX "127.0.0.1"
    Private STREAM_IP As String
    ' Port du server
    Private STREAM_PORT As String
    ' Nombre Max de socket
    Private STREAM_MAX As Integer
    ' Tableau de 32 Connexion potentiel
    Private STREAM_UNIT() As C_SOCKET
    'Init des sockets stream plus blocage des socket au dessus de max
    Public Sub New(ByVal IP As String, ByVal PORT As Int32, Optional ByVal MAX As Int32 = 16)
        Array.Resize(Me.STREAM_UNIT, MAX)
        Me.STREAM_IP = IP
        Me.STREAM_PORT = PORT
        For i = 0 To MAX - 1
            Me.STREAM_UNIT(i) = New C_SOCKET
        Next
    End Sub
    'Ferme le socket envoyé en paramatres
    Public Sub STREAM_CLOSE_STREAM(ByVal This_Stream As C_SOCKET)
        This_Stream.SOCKET_SOCK.Close()
        This_Stream.SOCKET_STATE = "Free"
    End Sub
    'Creer un nouveau socket stream si un sock est dispo
    Public Function STREAM_NEW_STREAM()
        For Each Line In Me.STREAM_UNIT
            If (Line.SOCKET_STATE = "Free") Then
                Line.SOCKET_STATE = "Used"
                Line.SOCKET_SOCK = New System.Net.Sockets.TcpClient(Me.STREAM_IP, Me.STREAM_PORT).GetStream
                Return Line
                Exit For
            End If
        Next
        Return False
    End Function
End Class

 Conclusion

Pour l'appeler très simple :
DIM SERVER_STREAM As New C_STREAM("127.0.0.1", 80)
Dim O_SOCKET As C_SOCKET = SERVER_STREAM.STREAM_NEW_STREAM()
Dim socket as New System.Net.Sockets.NetworkStream = O_SOCKET.SOCKET_SOCK

On en veux un deuxieme:
Dim O_SOCKET2 As C_SOCKET = SERVER_STREAM.STREAM_NEW_STREAM()
Dim socket2 as New System.Net.Sockets.NetworkStream = O_SOCKET2.SOCKET_SOCK


Quand on en a fini avec :
SERVER_STREAM.STREAM_CLOSE_STREAM(socket)
SERVER _STREAM.STREAM_CLOSE_STREAM(socket2)





 Sources du même auteur

Source .NET (Dotnet) DÉCODAGE YENC EN VB.NET

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

 Sources en rapport avec celle ci

Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip GESTION DES COURS par okosa
Source avec Zip GESTION FOYER par MOHA555
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DE PC par TedX80
Source avec Zip Source avec une capture ITRACK-HOTEL-PRO par promarc

Commentaires et avis

Commentaire de javama le 19/02/2009 12:50:27

Bonjour,
Si vous pouvez déposer un exemple Client/Serveur pour bien comprendre ça sera mieu

Merci d'avance

Commentaire de stagmec le 24/02/2009 15:03:04

oui exactement comment ouvrir une connexion avec sql sever situé dans la machine server

Commentaire de haloul07 le 27/02/2009 00:50:12

merci

Commentaire de hadjinfo10 le 16/06/2009 10:01:58

tre bien 18/20

Commentaire de nonainformatique le 04/05/2010 00:51:20

trés bieen

Commentaire de bendsiham le 26/10/2010 11:00:42

merci pour ce code mais je voudrais quelle
sont les classe à importer pour ce code

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

STREAM SOCKET [ par kalif ] bonjour, je me demandais si il es possible de recevoir un stream avec winsock ou un autre composant comme en delphi:Socket.ReceiveBuf(Buf, Count);il d Gestion de Feuilles MDI [ par tulesais ] Bonjour, à partir d'une feuille MDI Fille, je souhaite ouvrir une feuille NON MDI et mettre à jour la feuille MDI Fille à l'aide des informations fo créer une application en c # pour la gestion des abonnées du GSM [ par joe1010 ] slt j'aimerais bien savoir eskila qq qui peut m'aider pour trouver les démarches et prkoi pa une aide car chui encore debutant me Pb de lecture sur Socket java [ par 1982julien1982 ] Bonjour à tous ... J'ai un petit problème avec la lecture sur un socket java. Voici mon pb : Le serveur me renvoit une chaine d caractères qui ne cont Pb de lecture sur Socket java [ par 1982julien1982 ] Bonjour à tous ... J'ai un petit problème avec la lecture sur un socket java. Voici mon pb : Le serveur me renvoit une chaine d caractères qui ne cont Excel - Gestion de tableau [ par Groargreugro ] D'un logiciel du boulot, on extrait tout les jours des données relatif a tous les services de ma boite sous forme d'un fichier texte totallement illis Gestion Tableau Excel [ par Groargreugro ] J'ai un tableau de x lignes , y colonnes, (x & y peuvent etre tres grand) sous excel; mais ce tableau peut varier de taille au jour le jour (ajout ou gestion de fichier et de repertoitre [ par CHERMIALI ] Je suis à la recherche des fonctions existants dans:shell32.dllkernel32.dllole32.dllAidez-moi SVP gestion de 2 écrans [ par grandfrancis ] Salut, Notre application est un jeu, sur les écrans on affiche juste des images, notre programme doit gérer les deux écrans (envoyer une image a à l' connexion [ par logant83 ] Bonsoir, voila j'aimerai savoir si il est possible grace au socket de C de faire une connexion vers un server (Faire un link) exemple avant quand jt s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,981 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales