Kezdőoldal » Számítástechnika » Programozás » TCP IP Kommunikáció, szerver...

TCP IP Kommunikáció, szerver programmal hiba van, mi lehet a baj? (Kódrészlet lent beillesztve)

Figyelt kérdés

TcpListener[] tcp = new TcpListener[5];

for (int i = 0; i < 5; i++)

{

tcp[i] = new TcpListener(8901 + i);

tcp[i].Start();

}

for(;;)

{

foreach (var item in tcp)

{

TcpClient kliens = item.AcceptTcpClient();

if (kliens.Connected)

{

NetworkStream stream = kliens.GetStream();

byte[] buffer = new byte[50];

stream.Read(buffer, 0, buffer.Length);

string msg = "vmi";

byte[] buffer2 = System.Text.Encoding.ASCII.GetBytes(msg);

stream.Write(buffer2, 0, buffer2.Length);

MessageBox.Show(System.Text.Encoding.ASCII.GetString(buffer));

}

}

Ez egy külön szálon fut, és az a bajom vele, hogy első üzenet után meghal, és ugyanazon a porton nem bír több üzenetet fogadni, amíg egy másik porton nem jön egy másik üzenet, és akkor kidobja egyszerre a kettőt, de akkor arról a második portról megint nem tudsz még új üzenetet küldeni amíg megint egy másik portról nem küldenek vmit ... Kicsit láma vagyok, ezért mindenkinek adok 1 portot, így könnyebbnek tűnt mint várakoztatni. De ha vmi más szép, gyors megoldásotok van azt is szívesen elfogadom, és ne oltsatok, mert nem azért írtam ide .


2011. febr. 15. 21:40
 1/4 A kérdező kommentje:
Kihagytam a kérdésből, de ha elolvassátok már rájöhettek, hogy C# :).
2011. febr. 15. 21:45
 2/4 anonim ***** válasza:
80%
Szervert úgy szokás írni, hogy hallgatózik egy porton (elég egy, sőt, kívánatos, hogy csak egy legyen, hiszen a kliens honnan tudná, épp hova kell csatlakoznia? az azonosítás pedig a kliens ipcíme és portja alapján megy), és amikor accepttcpclient van, akkor fogod és indítasz egy új szálat, ami dedikáltan azzal a kapcsolattal foglalkozik. Nézz utána weben, 30 sorban írnak neked tisztességes szervert, érdemes mindig a netes példákból kiindulni.
2011. febr. 16. 07:43
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Úristen igazad van, rosszul értelmeztem idáig ezt a részét:D. Most már teljes mértékben szuperál. :D
2011. febr. 16. 15:16
 4/4 A kérdező kommentje:
ui: Hasznosra akartam menni csak félre kattintottam, bocsáss meg :(.
2011. febr. 16. 15:17

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!