コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

DevkitProで使われているdswifiについて(3)

今日は遅いので、少しだけ書きます。
ndswifiを使うイメージがわくように、起動から接続、終了までを簡単に書いておきます。

ndswifiが使えるようにする(wifiの初期化)

これをしないと始まりません。
Wifi_InitDefault(false); ですね。

wifiを動作させる

wifiのスイッチを入れるような感じです。この状態でLEDが短い点灯時間で点滅します。
Wifi_EnableWifi(); ですね。
ただ、Wifi_InitDefault()内ではスイッチオンまでやってしまいます。ので、直ぐにwifiを使いたくない場合は、スイッチオフしなければなりません。

アクセスポイント(AP)との接続

wifiのアクセスポイントとの接続です。先ず、APと繋げないとLANに繋がりません。
Wi-Fiコネクション設定」が設定されていれば、Wifi_AutoConnect(); で行けます。
これで、IPアドレス取得やgatewayDNS設定も終わっているはずです。この状態でLEDが長い点灯時間で点滅します。

TCPソケットの生成

ファイルで言うとオープンみたいなものです。
int my_socket = socket( AF_INET, SOCK_STREAM, 0 );socket( AF_INET, SOCK_STREAM, 0 );
こんなイメージ・・・。

コネクションを張る

あるサーバのあるポートに対してコネクションを張ります。
connect( my_socket,(struct sockaddr *)&sain, sizeof(sain) );
こんなイメージ・・・。

通信する

データを送信したり、データを受信したりします。
send( my_socket, toptext, strlen(toptext), 0 );
int recvd_len = recv( my_socket, incoming_buffer, 32768, 0 );
こんなイメージ・・・。

コネクションを切る

サーバとの接続を切ります。
shutdown(my_socket,0);
こんなイメージ・・・。

TCPソケットを閉じる

開いたソケットを閉じます。
closesocket(my_socket);
こんなイメージ・・・。
実際、シャットダウンからクローズのタイミングが微妙です。シャットダウンできたかどうかがわからないので、適当な間を空けてやる必要があります。

アクセスポイント(AP)から切断する

APとの接続を切ります。
Wifi_DisconnectAP(); ですね。
この状態でLEDが短い点灯時間で点滅します。

wifiを停止する

wifiの使用を止めます。wifiのスイッチオフです。
Wifi_DisableWifi(); ですね。
この状態で、LEDは常時点灯となります。

再度wifiを使う場合

再度使いたい場合は、
Wifi_EnableWifi();
Wifi_AutoConnect();
としてやれば、LEDが長い点灯時間で点滅し始め、通信させることができるようになります。

とりあえず、もう寝ます。

本当にやりたいことリスト

(ブログの終わりにやりたいことを書いておきたいと思います)

  • 求職活動・・・このブログで興味を持った人一声かけてください。m(_ _)m
  • Androidプログラム
  • Web系のプログラム