Unknown Geschrieben 26. April 2003 Geschrieben 26. April 2003 Kann mi vielleicht jemand helfen, ich wuerd naemlich gern wissen wie ich einen cs server dazu bringe mir infos zu schicken (spieler,map etc.) ich weiss wie das eigentlich ablaufen soll Man muss erst 4 x Bytes mit dem Wert 255 dann einen string mit dem befehl und dann einen ZeroByte schicken. Schoen und gut aber leider funktinackelt das in der Praxis net ! Weiss jemand antwort ? Ich versuch das in VB und logischerweise mus man das mit Winsock machen Thx im Vorraus
nic_power Geschrieben 26. April 2003 Geschrieben 26. April 2003 Original geschrieben von Unknown Schoen und gut aber leider funktinackelt das in der Praxis net ! Weiss jemand antwort ? Was funktioniert nicht? Ich nehme an, Du hast schon ein Stück Software geschrieben? Poste hier doch mal Deinen Code, ansonsten wird es schwierig, Dir zu helfen. Nic
Unknown Geschrieben 27. April 2003 Autor Geschrieben 27. April 2003 Winsock1.RemotePort = 8990 'Kommt der richtige Port hin Winsock1.RemoteHost = 123.123.123. 'Kommt natuerlich die richtige IP hin Winsock1.Bind Winsock1.SendData &HFF + &HFF + &HFF + &HFF & "infostring" & &H0 'Infostring wird durch den Befehl ersetzt Jetzt sollte der CS Server im Data Arrival Ereignis irgendwas antworten, auch wenns nur ein "?" ist, aber er reagiert ja nicht mal !!!
nic_power Geschrieben 27. April 2003 Geschrieben 27. April 2003 Hallo, Naja, ist etwas schwierig, da nicht so richtig klar wird, wie Dein Programm aussieht. Wenn Du UDP verwendest, musst Du auf Deiner Seite einen Socket zum Empfang öffnen. Es kann ja durchaus sein, dass Dein Datenpaket ankommt und vom Server auch beantwortet wird. Ohne das vollstaendige Programm, ist die Frage aber nicht zu beantworten. Nic
Unknown Geschrieben 27. April 2003 Autor Geschrieben 27. April 2003 Es ist so, dass ich erst mal einfach so ein projekt aufgemacht hab, wo ich ein paar sachen fuer die kommunikation mit cs servern ausprobieren wollte. mein eigentliches programm was spaeter die funktion nutzen sollte, hat die funktion noch nicht implementiert. Aber ich denke, wenn ich dir mal zeige was ich ausprobiert hab kannst du mir vielleicht helfen . Private Sub Command1_Click() Winsock1.RemotePort = 8990 Winsock1.RemoteHost = "62.146.198.14" Winsock1.LocalPort = 1001 Winsock1.Bind Winsock1.SendData &HFF + &HFF + &HFF + &HFF & "ping" & &H0 End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim vData As Variant 'Muss Variant sein, da CS Server auch durchaus mit verschiedenne Datentypen antworten vData = Winsock1.GetData(vData) MsgBox "Remote Host : " & vData, vbInformation, "Server" End Sub Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) MsgBox Number & Chr(13) & _ "Description : " & Description, vbInformation, "Error" End Sub Thx
Unknown Geschrieben 27. April 2003 Autor Geschrieben 27. April 2003 Ich bitte um Hiiiiiiiiiiiiiiilfe ich MUSS das einfach hinkriegen !!!
nic_power Geschrieben 27. April 2003 Geschrieben 27. April 2003 Ich bin kein VB-Experte (den Code sollte sich jemand ansehen, der von VB Ahnung hat), aber ein paar generelle Tips kann ich Dir geben: - Stimmen Portnummer und IP-Adresse des Servers (8990, ich dachte immer, CS wuerde mit Ports ueber 27000 arbeiten)? - Stimmt die lokale Portnummer zum Empfang der Daten? Ich nehme an, Du möchtest auf Port 1001 empfangen? - Falls Du einen Router verwendest, musst Du Deinen Empfangsport forwarden, sonst kommt nichts an. - Teste Dein Programm - sofern möglich - mit einem lokalen Server, das erleichtert das Debugging. Nic
Gast King555 Geschrieben 29. April 2003 Geschrieben 29. April 2003 Für Half-Life und Visual Basic habe ich extra ein Forum eingerichtet: http://26995.rapidforum.com/area=12 (Sorry für die Eigenwerbung, aber da ist so eine Frage vielleicht besser aufgehoben)
Unknown Geschrieben 29. April 2003 Autor Geschrieben 29. April 2003 Danke fuer den Verweis ! Der Mann wird mir sicher helfen koennen! :marine :marine
Unknown Geschrieben 29. April 2003 Autor Geschrieben 29. April 2003 vielen dank fuer deinen Beitrag ich hab die loesung jetzt gefunden, fuer alle die es interessiert ist hier der richtige code : Option Explicit Private Sub Command1_Click() Winsock1.Close DoEvents Winsock1.Protocol = sckUDPProtocol Winsock1.RemoteHost = "62.146.198.14" Winsock1.RemotePort = 8990 Winsock1.Connect DoEvents Winsock1.SendData Chr$(255) & Chr$(255) & Chr$(255) & Chr$(255) & "infostring" & Chr$(0) End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Data As String Winsock1.GetData Data MsgBox "Remote Host : " & Data, vbInformation, "Server" End Sub
Empfohlene Beiträge