Brauche Hilfe bei Portierung von Server
-
Hi,
ich habe einen Server unter Windows geschrieben, da mein PC nicht immer laufen kann brauche ich diesen nun für Linux ich hab nun schon eine Menge #ifdef Teile plaziert allerdings habe ich noch ein paar Fehler:if(fdSetRead.fd_array[i] == s) //'struct fd_set' has no member named 'fd_array' for(int i = 0; i < fdSetRead.fd_count; ++i) //'struct fd_set' has no member named 'fd_count' tCon.s = accept(s, (sockaddr*)&tCon.addr, &addrsize); //invalid conversion from `int*' to `socklen_t*'
Wäre nett, wenn mir jemand sagen könnte wie das unter Linux auszusehen hat :xmas1:
Danke
Gruß
-
Ich denke mal fdSetRead und so sind diese Socket-Container, mit denen man select() füttern kann!?
Die Implementierung von dem Ding ist unter jedem OS anders. Die einen nutzen Listen, die anderen Arrays, whatever.
Daher gibt's extra so vorgefertigte Makros für den Zugriff. FDSET_READ_ADD() oder so ähnlich, findest Du bestimmt bei google, nur diese solltest Du zum Zugriff nutzen!
-
Danke,
bin mit der Sache gerade etwas überfordert
Könntest du mir ein konkretes Beispiel dazu machen?Danke
Gruß
fd_set fdSetRead; select(0, &fdSetRead, 0, 0, 0); // Select
-
siehe FD_SET, FD_ISSET etc.
-
poll