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
| Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Threading
Imports System.Text
Imports System.IO
Public Class Form1
Dim temp2(1024) As Byte
Dim i As Integer
Dim masock As Socket
Dim temp(1024) As Byte
Dim msg, msg2 As String
'premiere chose je me conecte en envoyant un pseudonyma
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
masock.BeginConnect(New IPEndPoint(IPAddress.Parse(adresseip.Text), 12000), AddressOf connexionConnectCallback, masock)
temp = Encoding.ASCII.GetBytes(nickname.Text)
'envoi des info de connexion ip+pseudo
masock.BeginSend(temp, 0, temp.Length, SocketFlags.None, AddressOf SendCallback, masock)
'lancer le thread pour recevoir les messages envoyer par le serveur
masock.BeginReceive(temp2, 0, temp2.Length, SocketFlags.None, AddressOf ReceiveCallback, masock)
msg2 = Encoding.ASCII.GetChars(temp)
'affichage dans une listview
list.Items.Add(msg2)
End Sub
Private Sub connexionConnectCallback(ByVal asyncResult As IAsyncResult)
masock.EndConnect(asyncResult)
End Sub
Private Sub ReceiveCallback(ByVal asyncResult As IAsyncResult)
'j'ai mai autre beginreceive pour realiser une boucle
masock.EndReceive(asyncResult)
masock.BeginReceive(temp2, 0, temp2.Length, SocketFlags.None, AddressOf ReceiveCallback, masock)
End Sub
Private Sub SendCallback(ByVal asyncResult As IAsyncResult)
Dim send As Integer = masock.EndSend(asyncResult)
End Sub
Private Sub addmsg(ByVal msg2 As String)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
temp = Encoding.ASCII.GetBytes(message.Text)
masock.BeginSend(temp, 0, temp.Length, SocketFlags.None, AddressOf SendCallback, masock)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
masock.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
masock = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
End Sub
End Class |
Partager