sockets
-
public static void tuwas() { TcpListener tcpListener2 = new TcpListener(11660); tcpListener2.Start(); Socket socketForClient2 = tcpListener2.AcceptSocket(); if (socketForClient2.Connected) { NetworkStream networkStream2 = new NetworkStream(socketForClient2); System.IO.StreamWriter streamWriter2 = new System.IO.StreamWriter(networkStream2); System.IO.StreamReader streamReader2 = new System.IO.StreamReader(networkStream2); string read = " "; while (true) { read = streamReader2.ReadLine(); Console.WriteLine(read); } } } static void Main(string[] args) { TcpListener tcpListener = new TcpListener(669); tcpListener.Start(); Socket socketForClient = tcpListener.AcceptSocket(); ... ... ...
So sehr netter Code (geht unten weiter ist aber nicht wichtig).
Verbinde ich mich nun mit dem Client drauf, so bekomm ich folgender Fehler:Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden. Und zwar meldet er das im Thread tuwas(). Doch die Socket Adresse 11660 ist ja nicht belegt, habe auc hschon andere Ports probiert und trotzde mdie Fehlermeldung bekommen^^
Was passt net?
THX
-
Hallo !
Vergleich doch mal Deinen Code mit dem folgenden Posting. Vielleicht ist es ja nur ein kleiner logischer Fehler !?
http://www.bakterienkultur.de/forum/viewtopic.php?t=567
Gruß Ernst
-
Am Nein, leider kein logsicher Fehler^^
-
Schließt du das Socket auch wieder korrekt? (Shutdown, Close)
Wird der Thread öfter aufgerufen und mehrere Clients versuchen dasselbe Socket zu bekommen?
Um sicher zu gehen, wo die Exception geworfen wird, kannst du es ja mit einem try-catch-Block abfangen.EDIT: Schreib mal etwas zu deinem Ablauf in deiner Applikation.
-
du schließt nicht einen einzigen stream...
du verwendest kein einziges using für die recourcen...
und!!! (sowas ist etwas fatales!!!)while (true) { read = streamReader2.ReadLine(); Console.WriteLine(read); }
eine absolute endlosschleife ohne jeglichen ausstiegspunkt....
normalerweise wird sowas vom compiler wegoptimiert oder erst garnicht compaliert..
(komm bitte nicht auf die idee jetzt "goto" zu verwenden sondern verwende wenn schon ein "break")
nurmal als ansatz das ganze hier..
-
@Jack30lena:
Dir ist schon klar, dass 'interessant mann' nur einen Teil seines Codes gepostet hat?