Bonjours ! !
Je ne sais pas si je doit être content de vous revoir...

Après voir résolu mon problème de la dernière fois j'avais continuer, j'avais établis un envoi/réception de texte par le socket, et abracadabra ! 30min après sa ne marche plus...je ne crois pas avoir toucher quelque chose, alors je vous demande de vérifier mon code, peut-être vous verrez l'erreur que je n’ai pas vu...

Je demande connexion au serveur a partir du client
Le serveur en écoute accepte la connexion
Le client converti une phrase en Bytes et j’envoie
Le serveur reçoit et retranscrit en String et l'affiche

Je vous donne le code et après je vous explique ce que j'ai tester

Parti Client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ipAddr As System.Net.IPAddress
        ipAddr = IPAddress.Parse("127.0.0.1")
        SocketClient = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        SocketClient.BeginConnect(New IPEndPoint(ipAddr, 80), AddressOf connexionConnectCallback, SocketClient)
    End Sub
 
    Private Sub connexionConnectCallback(ByVal asyncResult As IAsyncResult)
        Dim SocketConnect As Boolean = False
        Dim Width As String
        Dim Height As String
        Try
            SocketClient.EndConnect(asyncResult)
            Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width.ToString()
            Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height.ToString()
 
            Dim msgwidth As Byte() = Encoding.UTF8.GetBytes(Width & "/")
            Dim envoiwidth As Integer = SocketClient.Send(msgwidth, 0, msgwidth.Length, SocketFlags.None)
 
            Dim msgheight As Byte() = Encoding.UTF8.GetBytes(Height & "/")
            Dim envoiheight As Integer = SocketClient.Send(msgheight, 0, msgheight.Length, SocketFlags.None)
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
Parti serveur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ipAddr As System.Net.IPAddress
        SocketServer = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        ipAddr = IPAddress.Parse("127.0.0.1")
        SocketServer.Bind(New IPEndPoint(ipAddr, 80))
        SocketServer.Listen(5)
        Me.SocketServer.BeginAccept(AddressOf connexionCallback, Me.SocketServer)
    End Sub
 
    Private Sub connexionCallback(ByVal asyncResult As IAsyncResult)
        Dim SocketConnected As Boolean = Me.SocketServer.Connected
        Try
            Dim textlabel As String
            Dim bytes(255) As Byte
            SocketServer = SocketServer.EndAccept(asyncResult)
            SocketServer.Receive(bytes, 0, SocketServer.Available, SocketFlags.None)
            Dim DonneeRecu = Encoding.UTF8.GetString(bytes)
            Msgbox(DonneeRecu, 0, "test")
 
            Dim Labelmodif As Label
            Labelmodif = Label1
            textlabel = "Le client est connecté"
            majlabel(Labelmodif, textlabel)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
Donc...Voici le code, donc j'ai tester ( a l'aide de msgbox juste après certaines opération )

Coté client :
- Après définition variable : Ok ( Width : XXX, Height : XXX )
- Après cryptage en bytes : "L'argument 'Prompt' ne peut pas être convertie en type 'String'."

Donc normalement coté client tous ce passe comme il faut...Mise a part la lecture du cryptage mais sa me parait normal...

Coté serveur :
- Après réception des bytes : Le même message qu'avant "L'argument 'Prompt' ne peut....." Encore normal
- J'ai enregistrer la fonction receive dans une variable ( Elle renvoie le nombre d'octets reçu normalement )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim test As Integer = SocketServer.Receive(bytes, 0, SocketServer.Available, SocketFlags.None)
Je test avec msgbox: 0
- Après retranscription/décodage : Vide :s

Donc l'erreur se démontre que du coté serveur mais je ne sais pas si c'est a la réception ou a l'envoi qu'est le problème..
Merci d'avance du temps que vous m'accordé
Je suis un peu perdu...