Antes de nada aclarar que es una traducción de los tutoriales oficiales de PALib. http://www.palib.info/wiki/doku.php?id=day20 INICIACIÓN Éste es un template del zip de PAlibwifi.
Úsalo para activar el uso del wifi en PAlib(o añade -ldswifi9 en el makefile del arm9 de tu proyecto: LIBSPA := -ldswifi9).
Se usa PA_InitWifi(); y PA_ConnectWifiWFC();
// Includes
#include <PA9.h> // Include de PAlib
// Función: main()
int main(int argc, char ** argv)
{
PA_Init(); // Iniciar PAlib
PA_InitVBL(); // Iniciar VBL
PA_InitWifi(); // Iniciar Wifi
PA_ConnectWifiWFC(); // Conectar al Wifi
// Iniciar texto en ambas pantallas(para la carga de http)
PA_InitText(0,0);
PA_InitText(1, 0);
while (1)
{
PA_WaitForVBL();
}
return 0;
} // Fin de main()
¿Cómo crear un socket? PAlib tiene una función para crear un socket con facilidad: PA_InitSocket(int *socket,char *host,int port,int mode); el host tampoco puede ser una IP o un DNS, port es el puerto del socket, mode es el modo del socket: PA_NORMAL_TCP para un socket tcp y PA_NONBLOCKING_TCP para un socket tcp non-blocking.
int sock;
PA_InitSocket(&sock,"www.google.be",80,PA_NORMAL_TCP);
¿Cómo recibir un mensaje del servidor? Para leer un socket, usa recv(). Tiene cuatro parámetros: El socket, el buffer, el tamaño del buffer y 0(es 0 siempre, no sé por qué):
char buffer[256];
recv(sock,buffer,256,0);
¿Cómo enviar un mensaje al servidor? Para enviar el mensaje se usa send():
char buffer[256];
strcpy(buffer,"hello world");
send(sock,buffer,256,0);
¿Cómo obtener un archivo con http? Puedes obtenerlo utilizando PA_GetHTTP(char *buffer, char *adress);
char *buffer = new char[256*256];
PA_GetHTTP(buffer,"http://www.google.be/index.html");
¿Cómo obtener la IP de mi NDS? Hay una página que te da la IP directamente, sin gráficos ni nada; es perfecto para que la NDS la pueda cargar y ver su IP. ¿Que cuál es? :
char *buffer = malloc(256*256);
PA_GetHTTP(buffer,"http://www.invisionsoft.co.uk/ip.php");
¿Cómo desconectarse de un punto de acceso? Ésta no es una función conocida por PAlib para desconectarse del wifi, pero ésta doble función viene de la librería Wifi puede que funcione:
Wifi_DisconnectAP();
Wifi_DisableWifi();
Bueno, y hasta aquí el tutorial del uso del wifi en PAlib. Si notais que algo no encaja en la traducción podéis visitar el tutorial original(en inglés) y si lo entendéis mejor así, pues perfecto.