Avatar billede xing Novice
01. april 2007 - 15:22 Der er 6 kommentarer og
2 løsninger

chat afbrudt

Jeg har lavet dette lille chat program

Hvordan for jeg den til at sende en besked hvis forbindelsen bliver afbrudt

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;



namespace WindowsApplication8
{
    public partial class Form1 : Form
    {
        private TcpClient client;
        private StreamReader rdr;
        private StreamWriter wrt;

        public Form1()
        {
            InitializeComponent();
            client = new TcpClient("localhost", 1234);
            rdr = new StreamReader(client.GetStream());
            wrt = new StreamWriter(client.GetStream());
            (new Thread(new ThreadStart(Reader))).Start();

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        private void Reader()
        {
            string line;
            while ((line = rdr.ReadLine()) != null)
            {
                lock (msgs)
                {
                    msgs.Text += ("dig: " + line + "\r\n");
                }
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            wrt.WriteLine(sendmsg.Text);
            wrt.Flush();
            lock (msgs)
            {
                msgs.Text += ("mig: " + sendmsg.Text + "\r\n");
            }

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            //MessageBox.Show("text");                       
           
            rdr.Close();
            wrt.Close();
            client.Close();
            Application.Exit();


        }

    }
}
Avatar billede Syska Mester
02. april 2007 - 01:16 #1
Hvem vil du så sende til hvis forbindelsen er afbrudt?

Er ikke helt med på hvad du mener ...

Men du kan vel tjekke om din SteamWriter er connected ... hvis den er det, så smide beskeden i en intern buffer og send når programmet igen connecter til den anden client/server ....

// ouT
Avatar billede arne_v Ekspert
02. april 2007 - 03:24 #2
du skal vel have en try catch omkring dine læs og skriv og hvis du får en
exception, så er forbindelsen nok væk
Avatar billede xing Novice
02. april 2007 - 05:54 #3
Det er en besked til brugeren som jeg gerne vil vise

MessageBox.Show("Forbindelsen er afbrudt...");

Jeg er ret ny i C#, hvordan ser en try catch ud?
Avatar billede Syska Mester
02. april 2007 - 10:56 #4
try
{
// noget kode som kunne fejle
}
catch(Exception ex)
{
MessageBox.Show("Forbindelsen er afbrudt...\nGrund: " + ex.Message );
}

Noget ala det kunne du ...
Avatar billede xing Novice
02. april 2007 - 14:00 #5
Det ser fint ud :-)

Klikker du svar?
Avatar billede Syska Mester
02. april 2007 - 15:06 #6
svar, men arne burde dog også have point
Avatar billede xing Novice
02. april 2007 - 15:56 #7
Fint, venter på Arne!
Avatar billede arne_v Ekspert
02. april 2007 - 16:27 #8
saa maa jeg hellere faa smidt et svar ogsaa
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester