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 63 64 65 66 67 68 69
|
Imports System.Net
Imports System.Net.Sockets
Public Class SERVEURclass
Public Event OnServerConnection(ByVal localIP As String, ByVal localPORT As Integer)
Public Event OnServerDisconnection()
Public Event OnServerNewClientConnected(ByVal remoteIP As String, ByVal remotePORT As Integer)
Private serv_SockListen As Socket
Private serv_SockClient As Socket
Private serv_Ip As String
Private serv_Port As Integer
Public Sub New(ByVal IP As String, ByVal PORT As Integer)
serv_Ip = IP
serv_Port = PORT
End Sub
Public Function Connect()
Dim SERVEUR_ep As IPEndPoint
serv_SockListen = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
SERVEUR_ep = New IPEndPoint(IPAddress.Parse(serv_Ip), serv_Port)
serv_SockListen.Bind(SERVEUR_ep)
serv_SockListen.Listen(1)
serv_SockListen.BeginAccept(AddressOf New_Client, serv_SockListen)
'EVENT1
RaiseEvent OnServerConnection(serv_Ip, serv_Port)
SERVEUR_ep = Nothing
End Function
Public Function Disconnect()
'serv_SockListen.Close()
'EVENT2
RaiseEvent OnServerDisconnection()
End Function
Private Function New_Client(ByVal asyncResult As IAsyncResult)
serv_SockClient = serv_SockListen.EndAccept(asyncResult)
'EVENT3
RaiseEvent OnServerNewClientConnected(serv_SockClient.RemoteEndPoint.Serialize.ToString, 10)
End Function
End Class |
Partager