スポンサーサイト
「はてな」に移動します
No.327 :
2037/02/17(Tue) 18:27:26
「FC2 ブログ」から「はてなダイアリー」に移転します。移転先はこちら。
http://d.hatena.ne.jp/eichimu
ウェブサイト(n-LIFE)の方のリンクは、卒論を提出し終わってから
更新したいと思います。
いや、もう第1稿は出したんだけど、書いてる途中にセキュリティ面を強化したくなって、
卒論に書いた仕様を実装しなきゃいけないっていうお前こんなことになるまでなんで放置してたんだ
ごめんなさい僕が悪いです状態でいまこうやってiTunes で音楽を聴きながらブログを更新するというというというという。。。
2009年10月度 ブログ維持更新
今の状態
No.325 :
2009/01/25(Sun) 22:30:01
コンピュータ業界でいうところの、バッファオーバーフロー。
C# で Zip を扱ってみる [ DotNetZip ]
No.324 :
2009/01/19(Mon) 20:40:44
修羅場ってるときこそ更新したくなるのは理不尽。転送するファイルをアーカイブするのに、アーカイブ方法として ZIP を選んだんですが、
C# だといまいち ZIP は扱いづらいみたいです。
J# のライブラリや SharpZipLib を使う方法があるみたいですが、どちらもバグが多いらしい。
ってことで使ってみました DotNetZip。
使い方
1)右側にある Download をクリック
2)DevKit をダウンロード(インテリセンス用のXMLファイルとかヘルプが入ってる)
3)Ionic.Utils.Zip.dll を参照に追加(XMLファイルなどは自動で読み込まれます)
4)コードをおもむろに書き始める。
using System;
using System.Text;
using System.IO;
using Ionic.Utils.Zip;
string dirPath = "D:\\Test";
string savePath = dirPath + ".zip";
// D:\Test (ディレクトリ)を圧縮
using(ZipFile zip = new ZipFile(savePath))
{
zip.ForceNoCompression = true;
zip.Encoding = Encoding.GetEncoding("shift-jis");
zip.AddDirectory(dirPath);
zip.Save();
}
// 展開用のディレクトリを作成
Directory.CreateDirectory("D:\\ExtractTest");
// D:\Test.zip を展開
using (ZipFile zip = ZipFile.Read(savePath, Encoding.GetEncoding("shift-jis")))
{
foreach (ZipEntry e in zip)
{
e.Extract("D:\\ExtractTest");
}
}
使い方はこんな感じ。非常に簡単。
Encoding は Shift-JIS にしておかないとファイル名に日本語が含まれる場合に文字化けするようです。
当たり前ですが、ファイル名に日本語が含まれて居なければ、ファイルの中身に日本語を含んでいても大丈夫です。
ところで、圧縮率の設定を探してみたけどよくわかりませんでした。もしかして設定できない?
接続相手のIPアドレスとポート番号を取得する
No.323 :
2009/01/19(Mon) 14:13:50
TCP通信するプログラムを書いてて気付いたので。今まで TcpListener でリッスンしてるときに接続してきた相手の IP Address とポート番号を取得するには、
TcpListener.AcceptSocket() でソケットを取得して Socket.RemoteEndPoint を得るしかないと
思っていたけど、
実は TcpClient.Client で基になるソケットを取得できることを最近知った。
using System;
using System.Net.Sockets;
TcpListener listener = new TcpListener(IPAddress.Any, 80);
listener.Start();
using(TcpClient tcpcon = listener.AcceptTcpClient()){
IPEndPoint ipep = (IPEndPoint)tcpcon.Client.RemoteEndPoint;
Console.WriteLine(String.Format("Remote IP Address > {0}:{1}"
,ipep.IPAddressipep.Port));
}
listener.Stop();
TcpClient の方が扱いが楽なので助かる
修羅場
No.322 :
2009/01/18(Sun) 18:54:38
一人で修羅場ってます。一応20日提出の予稿はいいとして、そこから1週間でプログラム作ってプレゼン作って原稿書いて練習してって…鬼!この鬼っっ!
ごらんの有様になるまで遊んでた俺が一方的に悪いんですけどね(^p^)
ネットワーク関係のソフトってあたりがまた余計に時間がかかる理由でもあります。
とりあえず20日にテスト版を完成させて、配って、テストして、どうにか発表までに完成させます。
しかし口内炎が痛い。舌の裏と下唇の奥に2箇所ってあんた。こんなの久しぶり。
calendar
| S | M | T | W | T | F | S |
| - | - | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | - | - |
| 04« | 2012/05 | »06 |
Profile
Author:エイチム
programmingに
興味を示す高専生
Diary
Recent Comments
Archives
- 2037年02月 (1)
- 2009年10月 (1)
- 2009年01月 (5)
- 2008年12月 (7)
- 2008年11月 (10)
- 2008年10月 (3)
- 2008年09月 (3)
- 2008年08月 (4)
- 2008年07月 (3)
- 2008年06月 (9)
- 2008年05月 (4)
- 2008年04月 (2)
- 2008年02月 (2)
- 2008年01月 (10)
- 2007年12月 (2)
- 2007年11月 (5)
- 2007年10月 (9)
- 2007年09月 (11)
- 2007年08月 (3)
- 2007年07月 (16)
- 2007年06月 (19)
- 2007年05月 (18)
- 2007年04月 (14)
- 2007年03月 (8)
- 2007年02月 (15)
- 2007年01月 (11)
- 2006年12月 (16)
- 2006年11月 (18)
- 2006年10月 (14)
- 2006年09月 (15)
- 2006年08月 (25)
- 2006年07月 (21)
- 2006年06月 (10)