flexounet Posté(e) le 31 décembre 2005 Partager Posté(e) le 31 décembre 2005 Bonjour Alors voila, mes profs nous ont donnés un petit chat a faire en VB avec winsock (alors qu'on a jamais fait de VB) et donc voici mon prob: La connection se fait comme il faut, le client arrive a envoyé des messages au serveur mais le serveur n'arrive pas a envoyer de message au client. Pourtant lors de l'acceptation de la connection par le serveur, celui-ci arrive a envoyer le pseudo. Lors de l'envoie du message l'erreur d'exectution 40006 s'affiche me disant que l'état de connection ou de protocole erroné pour la transaction ou la requete requise. La ligne remise en cause est : SrvSock(0).SendData "SNDMSG " & "Serveur> " & Txt2Send.Text Apparement le sock se remet en status 2 au lieu de rester sur 7. Si quelqu'un pouvait me dire pourquoi ca bloque lors de l'envoie du message et non pas pendant l'envoie du pseudo. Voici la source coté serveur : Private Sub Command2_Click() SrvSock(0).SendData "SNDMSG " & "Serveur> " & Txt2Send.Text Listdial.AddItem "Serveur> " & Txt2Send.Text Txt2Send.Text = "" End Sub Private Sub Form_Load() SrvSock(0).Close SrvSock(0).LocalPort = "1337" SrvSock(0).Listen MsgBox "Serveur en écoute" End Sub Private Sub SrvSock_ConnectionRequest(Index As Integer, ByVal requestID As Long) Index = Index + 1 Load SrvSock(Index) SrvSock(Index).Accept requestID SrvSock(Index).SendData "SNDNICK Serveur" ListUsers.AddItem "Serveur" End Sub Private Sub SrvSock_DataArrival(Index As Integer, ByVal bytesTotal As Long) SrvSock(Index).GetData recievedData, vbString If Mid(recievedData, 1, 7) = "SNDNICK" Then ListUsers.AddItem Mid(recievedData, 9, Exit Sub End If If Mid(recievedData, 1, 6) = "SNDMSG" Then Listdial.AddItem Mid(recievedData, 8, 50) End If End Sub Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.