Kommunikation med CS-server
Hej FolkensJeg prøver vha. C# at få forbindelse med en Half-Life server der kører CS, kommunikationen mellem serveren burde foregå som der står i denne tråd: http://www.eksperten.dk/spm/406884
Men jeg kan dog ikke få det til at virke, når jeg kører mit program og skriver "ping" (uden ") står kommer der ikke noget svar. Er det mig der er helt galt i byen ?
På forhånd tak
Min kode er som følger:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Threading;
class MainClass
{
private static void Main()
{
string IP = "81.7.159.231";
int port = 27020;
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Parse(IP), port);
Thread receiveThread = new Thread(ReceiveData);
receiveThread.IsBackground = true;
receiveThread.Start();
UdpClient client = new UdpClient();
try
{
string text;
do
{
text = Console.ReadLine();
if (text.Length != 0)
{
byte[] start = { 0xFF, 0xFF, 0xFF, 0xFF };
byte[] data = Encoding.UTF8.GetBytes(text);
byte[] slut = { 0x00 };
byte[] send = new byte[start.Length + data.Length + slut.Length];
int i = 0;
foreach (byte b in start)
{
send[i] = b;
i++;
}
foreach (byte c in data)
{
send[i] = c;
i++;
}
foreach (byte d in slut)
{
send[i] = d;
i++;
}
client.Send(send, send.Length, remoteEndPoint);
}
} while (text.Length != 0);
}
catch (Exception err)
{
Console.WriteLine(err.ToString());
}
finally
{
client.Close();
}
}
private static void ReceiveData()
{
UdpClient client = new UdpClient(999);
while (true)
{
try
{
IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] data = client.Receive(ref anyIP);
string text = Encoding.UTF8.GetString(data);
Console.WriteLine(">> " + text);
}
catch (Exception err)
{
Console.WriteLine(err.ToString());
}
}
}
}