Bonjour,
j'essaye de faire un client vb qui se connecte a un serveur quake 3 arena.
Voici mon code :
'ca dans une form contenant un ctrl winsock , un bouton et un timer
Option Explicit
Dim Flag As Integer
Dim ReceptData As String
Dim Tempo As Integer
Dim RequeteS As String
Dim Requete As String
Function Send(Ip As String, Port As String, Requete As String, delais As Integer)
RequeteS = Requete
ReceptData = vbNullString
Flag = 1
Timer1.Interval = delais
On Error Resume Next
Winsock1.Protocol = sckUDPProtocol
Winsock1.RemoteHost = Ip
Winsock1.RemotePort = Port
Winsock1.SendData Requete
Do
DoEvents
Loop Until Flag = 0
Send = ReceptData
End Function
Private Sub Command1_click()
'remplacer "status" par "getstatus pour un serveur Q3
Winsock1.Protocol = sckUDPProtocol
Winsock1.RemoteHost = "127.0.0.1"
Winsock1.RemotePort = "21000"
Text1 = Text1 + "Réponse de la connexion : "
Winsock1.SendData Chr(255) + Chr(255) + Chr(255) + Chr(255) & "connect"
Winsock1.SendData Chr(255) + Chr(255) + Chr(255) + Chr(255) & "\"
Winsock1.SendData Chr(255) + Chr(255) + Chr(255) + Chr(255) & "\\protocol\\26"
End Sub
Private Sub Command2_Click()
Winsock1.Close
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
Tempo = Tempo + 1
If ReceptData <> vbNullString Then Exit Sub
Select Case Tempo
Case 3
Winsock1.SendData RequeteS
Case 6
Timer1.Interval = 0
Tempo = 0
Flag = 0
End Select
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
'If bytesTotal > 2 Then
Winsock1.GetData ReceptData
Timer1.Interval = 0
Tempo = 0
Flag = 0
'MsgBox Mid(ReceptData, 5)
If Mid(ReceptData, 5) = "disconnect" Then
Text1 = Text1 + "Le serveur vous a demandé de vous déconnecter." + vbNewLine
Winsock1.Close
End If
Text1 = Text1 + ReceptData + vbNewLine
'End If
End Sub
Quand je clic sur le boutton Command1,
il me dit "Server use protocol 26".
Comment dire au serveur que le prog utilise le protocol 26 svp ?
Merci