Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

drakon

Supermoderator

  • »drakon« ist der Autor dieses Themas

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

1

24.12.2009, 15:00

Netzwerk - WSAECONNREFUSED 10061

Hallo

Ich habe ein merkwürdiges Problem.
Bei einem kleinen Netzwerkprogramm, welches ich mit boost.asio mache, klappt die Verbindung das erste mal eigentlich immer und dann ist es Glückssache, ob ich nochmal, zweimal oder bis zu 5x connecten kann. Aber irgendwann scheint schluss zu sein. (also <10 sicher).

Server:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <boost/asio/io_service.hpp>
#include <boost/asio/ip/tcp.hpp>
#include <boost/thread.hpp>
#include <boost/ptr_container/ptr_list.hpp>

using namespace boost::asio;
using namespace boost::asio::ip;

boost::asio::io_service server_io_service;
boost::ptr_list< tcp::socket > connections;
boost::mutex m;

void accepting ()
{
 for (;;)
 {
   tcp::acceptor acceptor (server_io_service, tcp::endpoint (tcp::v4(), 13) );
   
   tcp::socket* socket = new tcp::socket ( server_io_service );
   acceptor.accept ( *socket );
   {
     boost::lock_guard<boost::mutex> lock ( m );
     connections.push_back ( socket );
     std::cout << "Accepted...\n";
   }
 }
}   

int main()
{
    boost::thread t(&accepting);
    t.join();

}


Client:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <boost/array.hpp>
#include <boost/asio/io_service.hpp>
#include <boost/asio/ip/tcp.hpp>

using boost::asio::ip::tcp;

int main(int argc, char* argv[])
{
    try
    {
        if (argc != 2)
        {
            std::cerr << "Usage: client <host>" << std::endl;
            return 1;
        }

        boost::asio::io_service io_service;

        tcp::resolver resolver(io_service);
        tcp::resolver::query query(argv[1], "13");
        tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
        tcp::resolver::iterator end;

        tcp::socket socket(io_service);
        boost::system::error_code error = boost::asio::error::host_not_found;
        while (error && endpoint_iterator != end)
        {
            socket.close();
            socket.connect(*endpoint_iterator++, error);
        }
        if (error)
            throw boost::system::system_error(error);
    }
    catch (std::exception& e)
    {
        std::cerr << e.what() << std::endl;
    }
}


Ich kriege also die Fehlermeldung:

Zitat

Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte

was dem Error Code "WSAECONNREFUSED 10061" entspricht.

Nun ich habe keine Ahung, warum das geschieht. Ich habe es auf meinem Netbook getestet und dort klappt das ganze eigentlich einwandfrei.
Ich habe natürlich Firewall, Antivir mal ausgemacht, aber das gleiche Ergebnis bekommen. Spybot, Zonealarm o.ä. habe ich auch nicht (mehr) installiert.

Wäre froh für Ideen, Vorschläge usw.
Wäre auch super, wenn ihr das ganze mal selbst testet und dann berichtet, ob jemand das gleiche Fehlerbild erhält, wie ich.
Download des Clients und Server gibts hier:

http://dl.dropbox.com/u/1716912/asio_test.exe
http://dl.dropbox.com/u/1716912/asio_test_client.exe

Um zu testen Server einfach starten und beim Client die IP noch angeben. (Also für lokale Tests einfach die lokale IP angeben).

Ich habe am meisten Probleme damit, dass das ganze so unregelmässig geschieht. Im Schnitt liegen 2-3 Connects drin, aber es kann auch mal sein, dass 5 gehen oder auch nur einer.. :roll:

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

26.12.2009, 18:44

funktioniert bei mir einwandfrei, wobei sich der client halt immer sofort beendet.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

drakon

Supermoderator

  • »drakon« ist der Autor dieses Themas

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

3

26.12.2009, 19:00

Zitat von »"Nox"«

funktioniert bei mir einwandfrei, wobei sich der client halt immer sofort beendet.


Jop. Das nehme ich an. Bis jetzt funktioniert das auf jedem PC, ausser dem meinigen.. - Ist wieder mal typisch.. :(

Ich habe mal ein wenig rumgespielt und festgestellt, dass es nicht an den Clientfähigkeiten meines PC's liegt, sondern nur dann diesen Fehler erzeugt, wenn er als Server tätig ist.

Hast du irgendwelche Ideen, an was das liegen könnte? (ich habe schon recht viel ausprobiert, aber nix gefunden.. :()
Egal, wie dumm die Ideen scheinen, bitte bring sie. :)
Vlt. hatte ich mal den gleichen Gedanken verworfen, aber es liegt vlt. dennoch dort dran.. :)

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

4

26.12.2009, 19:26

Hi,
weil ich von solchen Dingen keine Ahnung habe, habe ich dir das mal gegooglet (manchmal klappt es ja mit versch. Sucheinträgen):

http://www.google.de/search?hl=de&client…&meta=&aq=f&oq=

ich hoffe es nützt dir irgentwas, wie gesagt ich wüsste nicht wonach ich genau Ausschau halten sollte :roll: [/img]
Errare est humanum. -Windows ist menschlich ;-)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

27.12.2009, 01:58

Schonmal mit anderer Software getestet, ob das nur ein Problem von deinem Programm oder von deinem PC ist? In dem einem Fall würde ich auf falsche Einstellungen tippen. Im anderen Fall würde ich mal das TCP Protokoll oder die Netzwerkarte komplett neuinstallieren.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

drakon

Supermoderator

  • »drakon« ist der Autor dieses Themas

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

6

27.12.2009, 02:22

Zitat von »"Nox"«

Schonmal mit anderer Software getestet, ob das nur ein Problem von deinem Programm oder von deinem PC ist? In dem einem Fall würde ich auf falsche Einstellungen tippen. Im anderen Fall würde ich mal das TCP Protokoll oder die Netzwerkarte komplett neuinstallieren.


Nein nicht direkt. Kannst du da ein Testtool empfehlen? Ich kenne gerade so nichts, wo ich das gescheit testen könnte.

Alledings vermute ich schon, dass es eine Eintellung ist, denn der Code funktioniert ja offensichtich. Am Netztwerk hier kann es auch nicht liegen, weil ich das mit einem anderen Notebook getestet habe und dort gings auch.
Also wird es schon eine Einstellung lokal sein, aber ich habe ebeb keine Ahung was für eine, vor allem, weil ich da IIRC nie was rumgespielt habe.. :S

Aber Netzwerkadapter neu installieren ist bestimmt eine gute Idee. Werde ich morgen gleich mal machen.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

7

27.12.2009, 15:08

kannst ja jedes x-beliebige testen. Z.B. kannst einfach die Anwendungen nehmen von meinemnetworklibsbenc (siehe link in der Sig) und die config.lua so umschreiben, dass du einfach x-mal ne verbindung zum server aufbaust mit netlib/syncsys, was auch eine TCP lib ist.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

drakon

Supermoderator

  • »drakon« ist der Autor dieses Themas

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

8

28.12.2009, 16:57

Also ich bin mir recht sicher, dass es an den loakel Einstellungen liegen muss. Allerdings habe ich da ja nix geändert und jetzt auch mal Firewall und TCP Protokoll zurückgesetzt und habe immer noch das gleiche Problem.

Ich benutze hier als Adapter das Intel PROSet/Wireless WiFi Connection Utility.
Ich habe aber auch mal mit dem Windows Internen Teil probiert und gibt ebenfalls das gleiche Problem.

drakon

Supermoderator

  • »drakon« ist der Autor dieses Themas

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

9

28.12.2009, 17:30

OK. Jetzt scheint es zu funktionieren.

Anscheinend lag es irgendwie doch an ZoneAlarm. Obwohl ich dort extra die Ports freigegeben habe und das Programm ja nicht einmal am laufen war..
Ich habe ihn jetzt mal deinstalliert und jetzt gehen beliebige Verbindungen..

Ich bin drauf gekommen, weil ich irgendwo was gelesen habe, dass eine Fehlerhafte Installation von ZoneAlarm Probleme gemacht hat und daher kurzerhand meinen Deinstalliert.. Und das scheint es gewesen zu sein..

Auf jeden Fall Danke für die Mühe Nox!

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

28.12.2009, 19:00

Tjaja diese bösen fws ;). Ich halt ja nicht viel von software fws 8)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige