faresallayl
Messages postés3Date d'inscriptionmercredi 29 juin 2011StatutMembreDernière intervention17 juin 2012
-
29 mai 2012 à 02:01
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
1 juin 2012 à 20:54
j'ai un problème dans mon programme si qlq1 peut m'aider:
Une requête d’envoi ou de réception de données n’a pas été autorisée car le socket n’est pas connecté et (lors de l’envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n’a été fournie
voila le code:
pour serveur:
Imports System.Net
Imports System.Net.Sockets
Public Class ServeurTCP
Dim sock As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim sockcon As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim rec As Integer
Dim str As String
Dim A(1000) As Byte
Dim B(1000) As Byte
Private Sub btEcouter_Click(sender As Object, e As EventArgs) Handles btEcouter.Click
If porttext.Text <> "" Then
Dim Adr As New IPEndPoint(0.0, porttext.Text)
sock.Bind(Adr)
sock.Listen(9)
sockcon = sock.Accept()
ChatGroup.Visible = True
btEcouter.Enabled = False
Timer1.Start()
Timer1.Enabled = True
Else
MsgBox("Veuillez spécifier un numéro de port ")
End If
End Sub
Private Sub btArreter_Click(sender As Object, e As EventArgs) Handles btArreter.Click
sock.Close()
sockcon.Close()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
rec = sock.Receive(B)
If rec Then
str = System.Text.Encoding.ASCII.GetString(B)
messagestext.Text += vbCrLf + "Client : " + str
End If
End Sub
Private Sub btEnvoyer_Click(sender As Object, e As EventArgs) Handles btEnvoyer.Click
A = System.Text.Encoding.ASCII.GetBytes(msgenv.Text + "$")
messagestext.Text += vbCrLf + "Moi : " + msgenv.Text
sock.Send(A)
End Sub
End Class
pour client:
Imports System.Net
Imports System.Net.Sockets
Public Class ClientTCP
Dim sock As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim sockcon As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim str As String
Dim A(1000) As Byte
Dim B(1000) As Byte
Private Sub btEcouter_Click(sender As Object, e As EventArgs) Handles btConnect.Click
If porttext.Text <> "" Or adressetext.Text <> "" Then
sock = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
sock.Connect(adressetext.Text, porttext.Text)
ChatGroup.Visible = True
btConnect.Enabled = False
Timer1.Start()
Timer1.Enabled = True
Else
MsgBox("Veuillez spécifier un numéro de port et/ou l'adresse ")
End If
End Sub
Private Sub btEnvoyer_Click(sender As Object, e As EventArgs) Handles btEnvoyer.Click
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 1 juin 2012 à 20:54
Bonjour,
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).
En pas à pas, tu as pu vérifier les valeurs des variables ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]{Point2}[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site