カテゴリー「ネットワーク」の3件の記事

2017-03-17

YAMAHAの古いルーターRT57iをHUB兼PPTPサーバーとして活用する

今まで、一時的にWindowsをPPTPサーバとして使っていたのだが、ふと「どこかにYAMAHAのRT57iがあった筈。電源アダプターも見つかったら、多分、あれにVPN機能があった筈」と急に思い出した。
で、ゴソゴソと探してみると電源アダプターも見付かったので、取り敢えず普通に動くのかLANケーブルと電源を挿してみると、どうやら正常に動いているっぽい。
それでは、こいつをVPNサーバーとして使ってやろう!と詳細を見ようとしたのだが、プロバイダの設定がないもんだからWEBインターフェースからは見られないし設定もできない。
で、色々と試行錯誤の末、シンプルな答えに辿り着いた。
まずは、RT57iをHUBとして動くように設定して、その後でPPTP機能を設定しよう。

続きを読む "YAMAHAの古いルーターRT57iをHUB兼PPTPサーバーとして活用する"

| | コメント (0) | トラックバック (0)

2014-05-20

ノートパソコンの無線LANが切れる

何かの作業をしていると突然ネットワークが切断されて、それ以降繋がらなくなる。

結局、ネットワークアダプターが無効になっている事が原因なんだけど、なぜ突然無効になっているのか不明。

もしかして、何かのキーボードショートカットを押してしまっているのだろうか?

| | コメント (0)

2013-10-26

VCLでCGIにチャレンジしてみた

Delphi、C++BuilderではiPhone, Androidアプリ作成の話題で持ちきりですが、C++ Builder 2010でWebBrokerのWebサーバーアプリケーションプロジェクトでCGIを作らなければならなくなったので、やってみたのですが、わからない事だらけだしヘルプには記載がない物ばかりだし。

まず、デフォルトの文字コードがShift_JISなのかな?UTF-8にしたかったのですが、Response->ContentにUTF8String型の文字列を渡してやってもダメなんですね。
Response->ContentType=”text/html; charset=utf-8”;
ってしてやる必要があります。で、
Response->Content = UTF8String(PageProducer1->Content());
でUTF-8で出力する事ができるようになったのですが、HTMLのFORMから投げられる文字列の文字コードがUTF-8だと、取得がうまくいかない文字があるようです。組み合わせによってみたいです。
動的ページをブックマークしたり、リンクを作ったりしたいので、データはGETで渡します。
内部でAnsiStringで処理してるみたいですが…。

とにかく、
String title = Request->QueryFields->Value[“title”];
では文字化けしたりして取得できず、色々と試したのですが、どうもうまく取得できませんでした。
わからないので、自分で書く事にしました。

何をどう処理しているのかわからないので、色々と試行錯誤しました。

どうやらRequest->QueryとHTTPAppのHTTPDecodeが使えそうでした。
boost::shared_ptr queries(new TStringList());
queries->Delimiter = ‘&’;
queries->StrictDelimiter = true;
queries->DelimitedText = Request->Query;
としてみたんですが、うまく切り分けてくれませんでした。

どうもRequest->QueryがAnsiStringなのでうまくいっていないようでした。
UnicodeString unicode_query = Request->Query;
queries->DelimitedText = unicode_query;
として、Request->QueryをUnicodeStringに変換してからqueries->DelimitedTextに渡してみたら、ちゃんと切り分けてくれました。

UnicodeStringにしないとうまく切り分けられなかったので、切り分けのためにUnicodeStringにしてありますので、これをデコードするために再度AnsiStringに変換します。
AnsiString avalue = queries->Values[queries->Names[i]];
avalue = HTTPDecode(avalue);
UTF8String utf8_value;
utf8_value.SetLength(avalue.Length());
memcpy(utf8_value.c_str(), avalue.c_str(), avalue.Length());
でクエリを&で切り分けてデコードして、UTF8文字列に変換できたと思います。

あとは、適当にTPageProducerで透過タグの置換をしたりします。

それにしても、簡単にちょっとサンプルCGIを作って見る程度なら簡単にあっという間にできちゃうけど、サンプル以上の物を作ろうと思うと、結構自分で書かないとならない。

本当にこんな事が必要なのかな?大丈夫かな?なんか心配だな。

| | コメント (0) | トラックバック (0)