Namespaces
Variants
Actions

Start new Socket Sub-connection to Access Point

Jump to: navigation, search
Article Metadata

Article
Created: spark55 (10 Sep 2007)
Last edited: hamishwillee (27 Jul 2012)

SIOCIFSTART and SIOCIFACTIVESTART are actual ioctl( ) calls which would start a connection or subconnection. All the socket communication calls such as connect(), read(), write(), send(), receive(), sendto(), and recvfrom() should come after calling SIOCIFSTART and SIOCIFACTIVESTART. Calls such as getsockopt(), and getsockname() that do not require any connection do not have any dependency on SIOCIFSTART and SIOCIFACTIVESTART.

The code to start a new socket connection can be seen here.

The following code shows how to start a new subconnection using an existing connection.

void NewSubconnection(char *ifname)
{
ifreq ifr;
int sockfd1, sockfd2;
 
// Name of the interface
strcpy(ifr.ifr_name, ifname);
 
sockfd1 = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
ioctl(sockfd1,SIOCSIFNAME, &ifr);
ioctl(sockfd1, SIOCIFSTART , &ifr);
 
sockfd2 = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
ioctl(sockfd2,SIOCSIFNAME, &ifr);
//Start subconnection using a connection created earlier
//using SIOCSIFNAME
ioctl(sockfd2, SIOCIFACTIVESTART , &ifr);
 
 
//recvfrom() and sendto() operations on socket sockfd2 and sockfd1
 
ioctl(sockfd2, SIOCIFSTOP, &ifr); // Stop the connection
ioctl(sockfd1, SIOCIFSTOP, &ifr); // Stop the connection
close(sockfd2);
close(sockfd1);
}


Links

This page was last modified on 27 July 2012, at 07:15.
110 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved