POur l'envoi on est obliger de passer par un tableau de bytes donc il faut encoder les données avec la classe Encoding du namespace System.Text![]()
POur l'envoi on est obliger de passer par un tableau de bytes donc il faut encoder les données avec la classe Encoding du namespace System.Text![]()
Qui ne tente rien n'a rien !
Ce qui ne nous tue pas nous rends plus fort !!
Mon projet ZELDA en C++/Allegro
http://www.tutoworld.com - Le Forum -
Mes ressources Dotnet (cours, sources, tutos)
--------------------------------------------
+
+
=
Ne pas oublier le Tag!
Bonjour,
Désolé pour la réaction tardive, mais la ou je suis le matin je n'ai pas accès au net...
Donc je vais essayer avec ce que tu m'as donné comme source et je vais voir ce que ça donne.
Je vous tiens au courant,
Merci encore.
X@v'
à priori si c'est juste pour savoir si l'autre logiciel est bien en cours d'execution, tu as meme pas besoin d'envoyer des choses
tu te fais un évènement qui intercepte la fin de connexion
dans cet évènement tu relances une connexion, si elle échoue, alors l'autre n'est plus là ...
Salut,
J'ai testé le code, j'ai fait quelques modifs car il y avait quleques petits pb... par contre je sais pas si je les ai faites correctement.
En tout cas, ça à l'air de fonctionner à une erreur près me disant : "Accept CallBack", mais si je fais "break" ça me sort une autre fenetre me disant "There is no source code available for the current location.".
Je clique alors sur "OK", je reclique sur le petit triangle (celui a coté de Pause et Stop), et la ça me sort le messagebox contenant "Client : True".
Alors je sais pas trop ce que c'est qaue cette erreur d'Accept CallBack, mais je vais essayer de trouver.
Merci,
Xav'
WHAOUHH!!! ça marche !!![]()
Merci les gars, sans vous je n'aurai pas réussi à faire ça...
J'ai modifié un peu le code, mais trois fois rien, j'ai meme compris ce que sont les callback...enfin a peu près!!
Du coup, au cas ou il y ait quelqu'un qui se pose les memes questions que moi, je mets le code :
Pour le Form1.vb :
Pour le Form2.vb :
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 Public Class Form1 Inherits System.Windows.Forms.Form Private Serveur As New System.Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.IP) Private Sub connexion_requested(ByVal ar As System.IAsyncResult) Serveur.EndAccept(ar) MessageBox.Show("Connexion Acceptée") End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Form2 As New Form2 Form2.Show() Dim Addr As IPAddress Addr = Addr.Parse("192.168.0.77") Dim hostIP As System.Net.IPAddress = Addr ' localhost renvoie toujours 127.0.0.1 qui est une ip locale Dim ep As New System.Net.IPEndPoint(hostIP, 150) Serveur.Bind(ep) Serveur.Listen(5) 'le backlog y disent que c'est le max de la file d'attente des clients qui attendent Serveur.BeginAccept(New System.AsyncCallback(AddressOf connexion_requested), Serveur) End Sub Private Sub btnQuitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuitter.Click Me.Close() End Sub End Class
Du coup il ne reste plus qu'a créer un projet, 2 Windows Form (Form1 et Form2), Copier-Coller le code.
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 Option Strict On Imports System.Net Imports System.Net.Sockets Public Class Form2 Inherits System.Windows.Forms.Form Private Client As New System.Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.IP) 'trafic ip standard Dim addr As System.Net.IPAddress Private Sub connexion_acceptee(ByVal ar As IAsyncResult) Client.EndConnect(ar) MsgBox("client : " & Client.Connected) End Sub Private Sub BTNstartconnexion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNstartconnexion.Click addr = addr.Parse("192.168.0.77") Client.BeginConnect(New IPEndPoint(addr, 150), New System.AsyncCallback(AddressOf connexion_acceptee), Client) End Sub End Class
(Petite précision : ce code à été fait sous VIsual Studio 2003 avec le Framework .NET 1.1)
A plus et merci encore![]()
![]()
![]()
![]()
![]()
X@v'
moi j'étais sous 2005 et framework 2 c'est ptete pour ca que t'as eu une erreur en reprenant le code
sinon les callback, j'ai appelé ca des évnements car à priori ca renvoie sur une sub choisie dans un cas précis
et avec un peu de chance dans un nouveau thread ...
Partager