Announcement

Collapse
No announcement yet.

TCP Socketexception zwischen Server und Client

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TCP Socketexception zwischen Server und Client

    Hallo,

    ich habe folgendes Problem.
    Ich haben eine Serveranwendung (Windows XP, .Net 2, C#) und ein
    Clientprogramm (Compact .net Framework, Windows Mobile 5, C#)
    geschrieben. Solange Client und Server als Desktop Anwendungen laufen
    finden sich beide und tauschen problemlos gegenseitig einen String
    aus. Sobald man den Client als Windows Mobile Anwendung erstellt und
    laufen lässt, bekommt man eine Socketexception mit dem Fehlercode
    10050, der laut Visual Studio folgendes bedeutet: "A socket operation
    encountered a dead network". Der Fehler tritt sowohl im PDA Emulator,
    als auch auf einem PDA und einem Handy auf (beide laufen mit Windows
    Mobile in der Version 5, respektive 6).
    Die Geräte, auf denen die beiden Anwendungen laufen sind mittels WLAN
    verbunden. Ein Ping von Server zu Client funktioniert problemlos, das
    WLAN Netz an sich steht also fehlerfrei. Der Fehler müsste daher
    irgendwo in dem Clientprogramm liegen...
    Bei meinen Tests schmeisst das Clientprogramm immer bei folgender
    Anweisung die o.a. Exception aus:

    TcpClient client = new TcpClient("Servername", 6000);

    Der Clientcode sieht komprimiert folgendermaßen aus (ich hoffe, ich
    habe nichts vergessen):

    ==========================================
    string message = "TEST";
    TcpListener server = null;
    TcpClient client = null;

    client = new TcpClient("SERVERIPADRESSE", 6000);

    Console.WriteLine("Connected to Server");
    Byte[] data = System.Text.Encoding.ASCII.GetBytes("TESTstring");
    client = server.AcceptTcpClient();
    NetworkStream stream = client.GetStream();
    stream.Write(data, 0, data.Length);
    Console.WriteLine("Sent: {0}", message);
    data = new Byte[1024];
    String responseData = String.Empty;
    Int32 bytes = stream.Read(data, 0, data.Length);
    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
    stream.Close();

    ==========================================

    Der Code kompiliert so durch - natürlich noch mit eingesetzter ServerIP Adresse
    Danke für jeden Hinweis.
    Gruß

    igor12345
Working...
X