sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #10656
Sockets og C++
Endnu en off-topic ting fra mig...
Hvorfor kan jeg ikke få lov til at kalde close(sockfd) i min destructor
i nedenstående kode? Hvad mangler jeg at include? Jeg ved godt at bzero
og err_sys er ude, og skal nok finde på passende løsninger til det, men
forslag til bzero modtages da med kyshånd.
Anders
class Tsense_clisock {
private:
struct sockaddr_in serv_addr;
int sockfd;
public:
// Constructor - creates and connects socket
Tsense_clisock(char serverIP[], int serverport) {
bzero((char*) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr(serverIP);
serv_addr.sin_port = htons(serverport);
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0))<0)
err_sys("Tsense_clisock: can't open stream socket");
if (connect(sockfd, (struct sockaddr *) &serv_addr,
sizeof(serv_addr))<0)
err_sys("Tsense_clisock: can't connect to server");
}
// Destructor - closes the socket
~Tsense_clisock() {close(sockfd);}
// Writes nbytes from buf to socket
write(char * buf, int nbytes) {;}
// Recieves into buf. Allocates new memory for buf and returns number
of
// bytes read in nbytes
read(char buf[], int &nbytes) {;}
};
--
Anders S. Johansen, Jagtvej 109, 3.tv, 2200 Kbh. N +045 35836565
Wisdom = TANJ + TANSTAAFL
Follow ups