...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

メトリック値の手動設定

自宅のネットはぷららフレッツ光隼なんだけど,今くらいの回線が混雑する時間帯になると1Mbpsくらいしか速度が出なくて困っていました。
早いときは200Mbpsくらい出るんだけど。
仕方がないので,遅いときはiPhoneテザリングすることにしました。
ソフトバンクのギガモンスター20GBに申し込んだので,しばらくはこれでしのげるはず。


ただ,やっかいなことも。
デスクトップPCにiPhoneをUSB接続してテザリングしているのですが,NIC経由でもネットに繋がっているので,そちらが優先されてしまう。
iPhoneを繋いでいるときはこっち経由でネットに繋がって欲しいわけですが。


メトリック値というものを手動設定してやることで,解決できました。
自動設定だと,インタフェースの規格上の速度に応じて設定されるようで,今回のケースには適さない。
ネットワークアダプタの設定で,2つのネットワークアダプタのメトリック値を手動設定して差を付けることで,iPhoneの方を優先してくれるようになったようです。
これで少なくとも数十Mbpsくらいでは常にネットができるようになりました。

Windows 10

OS: Windows10 Professional
CPU: Core i7 920 BOX (2.67GHz)
メモリ: トランセンド DDR3-1333 2GB 3枚組
グラフィックボード: GeForce 9600 GT 512MB
電源: SUPER FLOWER SF-600R14HE
HDD: SATA 6Gb/s 2TB WDC WD20EFRX
HDD: SATA 6Gb/s 3TB WDC WD30EZRX(2TBまで認識。旧OSをしばらく接続)
HDD: SATA/300 500GB ST3500320AS
マザーボード: Gigabyte EX58-UD4
ディスプレイ: BenQ G2400WD (1920x1200 32bit 60Hz)
ディスプレイ: MITSUBISHI RDT1710V (1280x1024 32bit 60Hz)

DFL

だいたいShooさんのPull Requestです。

DFL64はビルドがうまくいかなくて検証できず。

DFL for dmd 2.066

久しぶり。

import dfl;

pragma(lib, "dfl.lib");

class MainForm : Form {
	private Button _button;
	private ListBox _listbox;
	private MainMenu _menu;
	
	this() {
		_button = new TestButton();
		_button.text = "ok";
		_button.parent = this;
		_button.location = Point(100, 100);
		
		_listbox = new ListBox();
		_listbox.parent = this;
		_listbox.size = Size(60, 150);
		_listbox.items.add("foo");
		_listbox.items.addRange(["hoge", "piyo"]);
		_listbox.click ~= (Control c, EventArgs ea) { msgBox(_listbox.selectedItem.toString()); };
		
		_menu = new MainMenu();
		MenuItem item = new MenuItem();
		item.text = "File";
		MenuItem subItem = new MenuItem();
		subItem.text = "Open";
		auto menuClickHandler = (MenuItem mi, EventArgs ea){ msgBox("open the door"); };
		subItem.click ~= menuClickHandler;
		item.menuItems.add(subItem);
		_menu.menuItems.add(item);
		this.menu = _menu;
	}
}

class TestButton : Button {
	override void onClick(EventArgs ea) { // delegateでもoverrideでもおk
		msgBox("hi");
	}
}

void main() {
	Application.run(new MainForm());
}