Avatar billede stephanryer Nybegynder
18. maj 2007 - 22:24 Der er 3 kommentarer og
1 løsning

Sockets, problemer i forb. m. connect

Jeg benytter en TcpListener som host, og en TcpClient som klient.

Jeg starter i den ene tråd med at lytte via tcpListener.AcceptSocket (Har også prøvet .AcceptTcpClient) og forsøger derefter at connecte med TcpClient'en via connect (Har også prøve at connecte direkte i constructoren).

I alle tilfælde får jeg fejlen:

"Der kunne ikke oprettes forbindelse, fordi destinationscomputeren aktivt nægtede det"

Det skal lige siges, at jeg får den selv samme fejl, hvis jeg forsøger at connecte uden at have startet hosten først, dvs connecte til en server, der ikke eksisterer.

Jeg har slået min firewall fra.

Jeg kører Vista.

Hvad gør jeg galt?
Avatar billede lasserasch Juniormester
18. maj 2007 - 23:29 #1
Hejsa.

Du lytter nok ikke.
Noget ala det her burde virke :

TcpListner Server = new TcpListner();
Server.Listen();

(Ikke rigtig stavet, men "You get the point")...

Har selv leget med Socket forbindelser.
Og har fået bygget mig en kanon TCP Server, som jeg dog ikke lige kan give dig koden til, da den arbejder sammen med vores Active Directory og en SQL Server osv... Så den ville ikke kunne køres alligevel!

Men du kunne tjekke min første eksempel kode ud her.... Den virker. Tror nok der er lidt småfejl i eksemplet, men man kan oprette forbindelser mellem hinanden osv...

Det burde give dig en god ide om hvad du gør galt!

/Lasse
Avatar billede lasserasch Juniormester
18. maj 2007 - 23:30 #2
Et link til koden ville måske også være smart at poste!!!

http://www.skare.dk/tcpkommunikation.zip

/Lasse
Avatar billede stephanryer Nybegynder
19. maj 2007 - 01:55 #3
omg en fejl 40 :)

Jeg havde glemt at starte min tråd!

Det her virkede (Server-siden):

public class RyerTCPHost
    {
        private TcpListener tcpListener = null;
        private Thread thread;
        private TcpClient socket = null;
        public RyerTCPHost(String ip, int port)
        {
            IPAddress adr = IPAddress.Parse(ip);
            tcpListener = new TcpListener(adr, port);
        }

        public void StartListening()
        {
            thread = new Thread(new ParameterizedThreadStart(this.ThreadStart));
            thread.Start();
        }

        private void ThreadStart(Object target)
        {
            tcpListener.Start();
            socket = this.tcpListener.AcceptTcpClient();
            if (this.ClientConnected != null)
            {
                ClientConnected();
            }
        }

    }
Avatar billede stephanryer Nybegynder
19. maj 2007 - 01:55 #4
tak for hjælpen :)
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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