Accueil > > > 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
Sources de la même categorie
Commentaires et avis
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
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|