J'ai testé ce matin dans le train en exécuter les exe des sources et ça fonctionne bien.
Je suis donc manifestement passé à côté de quelque chose.
Je m'en vais refaire tout ça pour en avoir le coeur net...
EDIT : Ca y est, ça marche en local avec localhost... vais maintenant tester en local avec ip réel.
EDIT2 : Ca marche en local avec ip réel. Maintenant, tester avec un collègue ^^.
EDIT3 : Le collègue se connecte bien et est bien notifié sur le serveur mais je ne reçois pas ses messages et lui pas les miens non plus...En y réfléchissant, nulle part on ne boucle sur les sessions pour leur envoyer les messages... Y a sûrement un truc du genre à faire...
C'était bien cela le problème. J'ai apporté les modifications suivantes :
Ajout d'une variable pour stocker les différents objets avec lesquels il faut communiquer
Friend Shared callbacks As New List(Of IChatWCFRappel)
Ajout de ce code dans la procédure de connexion :
1 2 3
| SyncLock callbacks
callbacks.Add(callback)
End SyncLock |
Pareil mais pour enlever dans la déconnexion :
1 2 3
| SyncLock callbacks
callbacks.Remove(callback)
End SyncLock |
Finalement, la procédure pour envoyer le message (la ligne en commentaire est le code du tuto) :
1 2 3 4 5 6 7
| Private Sub ChatMessageHandler(sender As Object, e As ChatMessageEventArgs)
For Each item As IChatWCFRappel In callbacks
item.ReceptMessage(e.User, e.Message)
Next
'callback.ReceptMessage(e.User, e.Message)
End Sub |
Et voilà, ça fonctionne dans le réseau interne. Je ne pourrai malheureusement pas tester avec qqn hors du réseau car ce sera bloquer par le firewall. Ce sera à tester plus tard.
Partager