Autor Beitrag
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Do 01.07.10 12:20 
hi,

will einen netzwerkchat mit console realisieren. hab dazu diverse tutorials gelesen und hab jetz folgendes:

als erstes der server: dieser code läuft in einem eigenen thread. für jeden client wird ein eigener thread gestartet, client ist ein einfacher socket und bereits verbunden. der server nimmt die nachricht an und leitet sie an alle anderen clients weiter
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
while (true
            {
                
                client[nr].Receive(bReceive, bReceive.Length, 0);
                
                sBuffer = "";
                //Convert Byte to String
                sBuffer = Encoding.ASCII.GetString(bReceive);
                sBuffer = sBuffer.TrimEnd('/''0');
                if (sBuffer != "")
                {
                    for (int i = 0; i < client.Length; i++)
                    {
                        if (i != nr)
                        {
                            if (client[i].Connected)
                            {
                                client[i].Send(bReceive);
                            }
                        }
                    }
                }
}


nun zum client: auch dieser code läuft in einem thread ab. server ist der (bereits verbundene) socket. dieser teil des codes nimmt die nachricht an und gibt sie auf der console aus.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
while (true)
            {


                
                server.Receive(bReceive, bReceive.Length, 0);
                sBuffer = Encoding.ASCII.GetString(bReceive);
                sBuffer = sBuffer.TrimEnd('/''0');
                if (sBuffer != "")
                {
                    Console.WriteLine(sBuffer);
                }
            }


ich kann leider nur eine nachricht senden, welche korrekt an alle clients weitergeleitet und angezeigt wird, danach trennt der server die verbindung.
und zwar an dieser stelle: client[nr].Receive(bReceive, bReceive.Length, 0);
warum? und wie kann ich das verhindern?
MoBBer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37
Erhaltene Danke: 1



BeitragVerfasst: So 04.07.10 17:44 
hallo huuuuuh,

so kann ich deine Frage nicht beantworten könnetest du dein Projekt vielleicht mal hochladen.

mfg MoBBer