Witam serdecznie,
Mam następujący kod:
class Program
{
static StreamReader streader = null;
static StreamWriter write = null;
static TcpClient serwer = null;
static Byte[] bufor = null;
static NetworkStream netstream=null;
private static void reader()
{
while (true)
{
int lData = netstream.Read(bufor, 0, serwer.Client.ReceiveBufferSize);
String myString = Encoding.ASCII.GetString(bufor);
myString = myString.Substring(0, lData);
Console.WriteLine(myString);
}
}
private static void writer()
{
while (true)
{
String myString = Console.ReadLine() + “\n”;
netstream.Write(Encoding.ASCII.GetBytes(myString.ToCharArray()), 0, myString.Length);
}
}
static void Main(string[] args)
{
try
{
String host = “192.168.1.149”;
serwer = new TcpClient(host, 8081);
if (serwer.Client.Connected)
{
Console.WriteLine(“Połączono z serwerem:” + host);
netstream = serwer.GetStream();
bufor = new byte[serwer.Client.ReceiveBufferSize];
new Thread(new ThreadStart(writer)).Start();
new Thread(new ThreadStart(reader)).Start();
String myString = “nnnnnnnnnnnnnnnnnn”;
netstream.Write(Encoding.ASCII.GetBytes(myString.ToCharArray()), 0, myString.Length);
}
else
Console.WriteLine(“Nie połączono ze zdalnym hostem”);
}
catch (SocketException se)
{
Console.WriteLine("Błąd : " + se.Message);
}
}
}
chciałbym do niego dorobić 2 rzeczy:
-
po wpisaniu słowa “EXIT” chciałbym żeby wątek się zakończył
-
chciałbym żeby do tekstu “Połączono z serwerem” doszła informacja o IP komputera na którym została uruchomiona aplikacja
Wiecie może jak to zrobić??
Ogólnie po zerwaniu połączenia wątek się automatycznie zakańcza, ale ja chciałbym programowo zamykać/otwierać (otwieranie mam) wątki… Wie ktoś może jak to zrobić??
Z góry dzięki za pomoc,
Pozdrawiam Northwest