Rozdzielanie danych otrzymanych z pliku i pobieranie IP.

0

Witam. Wie ktoś jak rozdzielić dane przedstawione na tym kodzie:

#New game
ID=12345
Level=5
Exp=102354
Credits=103

Tak dane są przedstawiane w niektórych ustawieniach serwerów. I tu moje pytanie. Jest jakaś specyficzna klasa do rozdzielania tego "składu" danych?? Chodzi mi o to, żeby komentarzem które są oznaczone "#" pomijała, a zwracała tylko wartości po znaku "=" np. w tabeli, np.:

12345
5
102354
103

A, i jeszcze jedno. Jest jakaś wartość lub metoda klasy TcpListener, TcpClient lub NetworkStream, która zwracałaby adres IP klienta? Niestety RemoteEndPoint zwraca IP wraz z portem :/.

0
foreach (string line in daneWejsciowe.Split('\n'))
{
   if (line.StartsWith("#"))
       continue;
   Console.WriteLine(line.Substring(line.IndexOf('=')));
}

Co do drugiego pytania, to :

MSDN napisał(a)

s.Connect (lep);
    // Using the RemoteEndPoint property.
    Console.WriteLine ("I am connected to " + IPAddress.Parse (((IPEndPoint)s.RemoteEndPoint).Address.ToString ()) + "on port number " + ((IPEndPoint)s.RemoteEndPoint).Port.ToString ());
0

Dzięki ;). Z drugim mam problem :/:

TcpListener tcpListener = new TcpListener(4321);
            tcpListener.Start();
            TcpClient g = tcpListener.AcceptTcpClient();
            NetworkStream gg = g.GetStream();
            while (true)
            {
                if (gg.DataAvailable)
                {
                    IPAddress tester = (IPEndPoint)g.RemoteEndPoint.Address;
                    ThreadStart pts = delegate { testr(tester, i); };
                    users[i] = new Thread(pts);
                    users[i].Start();
                    i++;
                }
            }

Niestety, mam błąd gdy korzystam z Twojej komendy:

'System.Net.Sockets.TcpClient' does not contain a definition for 'RemoteEndPoint' and no extension method 'RemoteEndPoint' accepting a first argument of type 'System.Net.Sockets.TcpClient' could be found (are you missing a using directive or an assembly reference?)

Chyba chodzi o to, że nie ma takiej właściwości :/.

P.S.: A w pierwszym to zwraca wartość po znaku równania wraz z nim :/.

0

Poszperałem głębiej i znalazłem takie coś:

TcpListener client = new TcpListener(1234);
client.Start();
TcpClient tcp = client.AcceptTcpClient();
MessageBox.Show(((IPEndPoint)tcp.Client.RemoteEndPoint).Address);

Tak pisze na większości stronach. Ale niestety u mnie nie ma właściwości Address w RemoteEndPoint :/.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0