Wednesday 15 April 2015

sockets - c++ maps and struct sockaddr_in copying values and using sendto -



sockets - c++ maps and struct sockaddr_in copying values and using sendto -

okay, have prob when seek struct sockaddr_in map, , utilize tmp var send stuct sockaddr_in through socket using method sendto.

map<string,struct sockaddr_in> usertoaddrstrct;

after phone call recvfrom set struct sockaddr map name key. when seek address 1 time again in request do.

string getuserofcurraddr() { //recaddr (struct sockaddr_in) utilize recvfrom() method receive address struct sockaddr_in* address = (struct sockaddr_in*)&recaddr; string atmp = ""; map<string,struct sockaddr_in>::iterator i; for(i=usertoaddrstrct.begin(); != usertoaddrstrct.end(); i++) { cout << "before checkeq call\n"; if(checkaddreq(i->second,*address) == 0) { atmp = i->first; } } homecoming atmp; } string username = getuserofcurraddr(); map<string, struct sockaddr_in>::iterator sockit = usertoaddrstrct.find(username);

and seek print out contents in map , seg fault 11. here code used print.

for(map<string,struct sockaddr_in>::iterator isu = usertoaddrstrct.begin(); isu != usertoaddrstrct.end(); isu++) { cout << "user: " << isu->first << " address: " << stringaddr(isu->second) << " port #: " << isu->second.sin_port <<"\n"; }

any help appreciated. bad c++ , may have bad reference.

thanks all!!!!

c++ sockets networking map sockaddr-in

No comments:

Post a Comment