1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
Imports System.Net.Sockets
Imports System.Net
Imports System.Threading
Public Class PokerVBServer
Public port As String = "8080"
Public ip As String = "127.0.0.1"
Public socketServeur As Socket
Public ipepServeur As IPEndPoint
Public socketClient As Socket
Public threadConnCli As Thread
Public joueurConnecte As Integer = 0
Sub Main(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
socketServeur = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
ipepServeur = New IPEndPoint(IPAddress.Parse(ip), port)
socketServeur.Bind(ipepServeur)
socketServeur.Listen(1)
Console.WriteLine("Socket serveur initialisé")
End Sub
Delegate Sub dBtn_Demarrer_Click(sender As Object, e As EventArgs)
''' <summary>
''' Quand on appuie sur démarrer le serveur se lance et se met en attente d'une connexion
''' A Chaque client connecté un nouveau thread se lance
''' </summary>
'''
Private Sub BTN_Demarrer_Click(sender As Object, e As EventArgs) Handles BTN_Demarrer.Click
threadConnCli = New Thread(AddressOf ThreadConnexionClient)
threadConnCli.Start()
BTN_Demarrer.Visible = False
BTN_Arreter.Visible = True
End Sub
Sub ThreadConnexionClient()
While True
If joueurConnecte < 4 Then
Console.WriteLine("En attente d'un client")
socketClient = socketServeur.Accept()
joueurConnecte += 1
While (socketClient.Connected)
End While
joueurConnecte -= 1
End If
End While
End Sub
Private Sub BTN_Arreter_Click(sender As Object, e As EventArgs) Handles BTN_Arreter.Click
threadConnCli.Abort()
BTN_Demarrer.Visible = True
BTN_Arreter.Visible = False
End Sub
End Class |
Partager