2010-01-01から1ヶ月間の記事一覧

winpcapの受信ルーチンのタイムアウト

pcap_next_exでは、タイムアウトすると0が返る。 タイムアウトはpcap_open_live(const char* device, int snaplen, int promisc, int to_ms, char* ebuf)のto_msで定義される。単位はミリ秒。 OSによって有効だったり無効だったりするようだが、WindowsXPで…

acceptでもselect

普段はUDPばっかり使ってたんですが、TCPをたまには使ってみました。 サーバ側で待ち受けようと思ったら、acceptを使うわけですが、ブロッキングモードでずーっと待ち受けちゃうとプログラムが終了できないので、selectを使います。データ受信と同じで、read…

VLAN TAG 付きのパケットをキャプチャする

802.1Q方式でタグ付けされたパケットをWiresharkでキャプチャすると、残念ながらNICでタグが除去されてOSに渡されていたためにタグがキャプチャできませんでした。 NICはRealTek RTL8168B/8111BFamily。 NICのプロパティに優先度とVLAN(Priority&VLAN)とい…

CreateWindowのstaticコントロールの文字列取得

CreateWindowのstaticコントロールの文字列変更の次は、文字列の取得。GetWindowTextを使えばOK。

CreateWindowのstaticコントロールの文字列変更

CreateWindow(_T("static")....てな感じで作ったウィンドウに文字列をセットしたい場合はBool SetWindowText(HWND hwnd, LPCTSTR lptString); でセットする。 hwndはウインドウのハンドル、lptStringはセットしたい文字列。なお、ウィンドウのハンドルの取得…

時刻の取得

時刻を表示したい場合 time_t timer; tm timestruct; TCHAR timebuf[20];//文字列にする場合のバッファtime(&timer); localtime_s(&timestruct, &timer); wcsftime(timebuf,sizeof(timebuf)/sizeof(timebuf[0]), _T("%m/%d %H:%M:%S),&timestruct); で、time…