cs_Yossi
Messages postés40Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 5 septembre 2006
-
9 mai 2006 à 13:11
cs_Yossi
Messages postés40Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 5 septembre 2006
-
10 mai 2006 à 12:44
Bonjour,
j'essaye d 'envoyer un message par un socket mais j'ai le message "une requete d'envoi ou de réception 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" alors que la connexion se fait (je la controle par le mode débogage).
j'ai la procédure socketreception qui se lance au lancement de l'application ( par l'intermédiaire d'un thread) :
t = New Thread(AddressOf socketReception)
t.Start
... et socketenvoi au click d'un bouton.
voici les procédures :
Sub socketReception()
Try
dim s as New Socket ( AddressFamily.InterNetwork ,SocketType.Stream, ProtocolType.Tcp)
Dim ipAdressServer As IPAddress =IPAddress.Parse(dns.GetHostAddresses(Dns.GetHostName())(0).ToString)
s.Bind(New IPEndPoint(ipAdressServer,ipPort))
s.Listen(1)
s.Accept()
Dim ret As Integer=1
Dim rbuf(1024) As Byte
Dim chaine As New system.Text.StringBuilder
While ( ret= s.Receive( rbuf,0,1024,SocketFlags.None))>0
chaine.Append(system.Text.Encoding.ASCII.GetString(rbuf,0,ret))
End While
msgbox(chaine)
Catch ex As Exception
msgbox(ex.Message)
End Try
Sub socketEnvoi()
Try
dim s as New Socket ( AddressFamily.InterNetwork ,SocketType.Stream, ProtocolType.Tcp)
Dim ep As New IPEndPoint(IPAddress.Parse(ipAdresse.text),ipPort)
s.Connect(ep)
'envoi
Dim donnees As String="salut ca va tu vas bien"
Dim buffer1 As Byte() = System.Text.Encoding.ASCII.GetBytes(donnees)
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 9 mai 2006 à 13:46
Bonjour
s.Accept() te retourne un nouveau socket, c'est lui que tu doit utiliser.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 10 mai 2006 à 09:52
Bonjour
ça donne quoi ton code ? c'est étonnant.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
cs_Yossi
Messages postés40Date d'inscriptionmardi 11 mars 2003StatutMembreDernière intervention 5 septembre 2006 10 mai 2006 à 12:41
Sub socketReception()
Try
dim s as New Socket ( AddressFamily.InterNetwork ,SocketType.Stream, ProtocolType.Tcp)
Dim ipAdressServer As IPAddress =IPAddress.Parse(dns.GetHostAddresses(Dns.GetHostName())(0).ToString)
s.Bind(New IPEndPoint(ipAdressServer,ipPort))
s.Listen(1)
dim s2 as Socket= s.Accept()
Dim ret As Integer
Dim rbuf(1024) As Byte
Dim chaine As New system.Text.StringBuilder
dim s as New Socket ( AddressFamily.InterNetwork ,SocketType.Stream, ProtocolType.Tcp)
Dim ep As New IPEndPoint(IPAddress.Parse(ipAdresse.text),ipPort)
s.Connect(ep)
'envoi
Dim donnees As String="salut monde"
Dim buffer1 As Byte() = System.Text.Encoding.ASCII.GetBytes(donnees)
s.Send( buffer1 ,0, buffer1.Length , SocketFlags.None)
s.Shutdown(SocketShutdown.Send)
Catch ex As Exception
msgbox(ex.Message.ToString)
End Try
Vous n’avez pas trouvé la réponse que vous recherchez ?