Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » listen()

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
03.12.2002, 20:42 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Bei meiner Applikation schlägt nach erfolgreichem socket() und bind() listen() mit Fehler 22 (EINVAL, invalid argument) fehl. Laut man-pages setzt listen() aber errno gar nicht auf EINVAL.

Was kann hier falsch sein?

void* editiert: connect in listen geändert!!!
--
Gruß
void*

Dieser Post wurde am 04.12.2002 um 10:20 Uhr von void* editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.12.2002, 08:28 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich würde mal - mangels Source durch einen Blick in die Kristallkugel - sagen, daß Du einen ungültigen Parameter übergibst. Guter Kandidat für sowas ist die sockaddr struct (2. Parameter)
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.12.2002, 10:21 Uhr
void*
Generic Pointer
(Operator)


Bitte Änderung an meiner Frage beachten, hatte da was durcheinander gebracht!
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.12.2002, 10:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Aber mit Source kannst Du immer noch nicht dienen?!
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.12.2002, 11:07 Uhr
void*
Generic Pointer
(Operator)


Zu späterem Zeitpunkt gerne (d.h. heute abend)...im Moment nicht! Normalerweise verstehe ich schon, wenn Leute mit Zaunpfählen winken.
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.12.2002, 12:41 Uhr
~0xdeadbeef
Gast


Ich würde vermuten, dass du als backlog-Argument null oder ne Zahl kleiner als null angibst, womit er nichts anfangen können sollte.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.12.2002, 12:42 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Das kann es nicht sein...ist ein #define für 10.
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.12.2002, 13:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Hilft dir das (da kommt auch EINVAL drin vor )
www.opengroup.org/onlinepubs/007904975/functions/listen.html
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.12.2002, 09:53 Uhr
void*
Generic Pointer
(Operator)


Hallo,

ok, ich muss mal meine man-pages verbrennen...

Mein socket ist aber weder verbunden noch geschlossen. Ich muss heute abend mal den Code hier reinschmeissen.

Danke für den Link!
--
Gruß
void*

Dieser Post wurde am 05.12.2002 um 09:54 Uhr von void* editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.12.2002, 20:47 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Hier nun den sehnlich erwartete Code:


C++:
#define QUEUE_SIZE 10

// ...

int Server(char *bluetoothAddress)
{
  int error=0, localSocket, remoteSocket, sizeRemote;
  struct sockaddr_l2 localSockAddrBt, remoteSockAddrBt;

  localSocket=socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
  
  localSockAddrBt.l2_family=AF_BLUETOOTH;
  bacpy(&(localSockAddrBt.l2_bdaddr), strtoba(bluetoothAddress));
  localSocketAddrBt.l2_psm=htobs(10); // <= Brauche das hier!

  // just to check...
  printf("Bluetooth address is: %s\n", batostr((remoteSockAddrBt.l2_bdaddr)));

  if(-1!=localSocket)
  {
    if(-1!=bind(localSocket, (struct sockaddr *)&localSockAddrBt, sizeof(localSockAddrBt)))
    {
      if(-1!=listen(localSocket, QUEUE_SIZE))
      // ...


--
Gruß
void*

Dieser Post wurde am 05.12.2002 um 22:46 Uhr von void* editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: