在寫網路程式,常常需要處理protocol的問題,http要看header and content對不對,可是一直用Wireshark sniffer也是很煩,幸好linux可以用很簡單的方式看到~~~^^
mkfifo proxypipe
cat proxypipe | nc -l 11111 | tee -a inflow | nc localhost 11112 | tee -a outflow 1>proxypipe
可以把input放在inflow,把output放在outflow~~~~^^
好用呦~~~^^
來源出自
http://smaftoul.wordpress.com/2009/05/13/netcat-as-a-logging-tcp-proxy/
星期三, 8月 11, 2010
星期二, 6月 22, 2010
[Linux] 當打錯command的時候怎麼辦....(#rm -rf /)
我個人常常打太快,常常rm的結果就是
#rm -rf /
慘了,電腦就得從灌了
Google了一下,發現真的沒甚麼方式可以recover,但皇天不負苦心人,可以用yum reinstall~~~~^^
#rpm -qa --qf '%{name}\n' | sort -u | xargs -i yum reinstall -y --verbose {}
#rm -rf /
慘了,電腦就得從灌了
Google了一下,發現真的沒甚麼方式可以recover,但皇天不負苦心人,可以用yum reinstall~~~~^^
#rpm -qa --qf '%{name}\n' | sort -u | xargs -i yum reinstall -y --verbose {}
星期一, 6月 21, 2010
[C++] convert string to int or boolean
http://www.codeguru.com/forum/showthread.php?t=358996
這個link有高手寫出C++ convert string to boolean,code如下
template
bool from_string(T &Value,const std::string &str,std::ios_base & (*f)(std::ios_base&))
// converts string to streamable value, and returns true on success and false otherwise.
{
std::istringstream stream(str);
stream>>f>>Value;
return (!stream.fail()) && stream.get()==std::istringstream::traits_type::eof();
}
如果是convert string to int,可以參考這個link
http://www.codeguru.com/forum/showthread.php?t=231054
code如下
template
bool from_string(T& t,
const std::string& s,
std::ios_base& (*f)(std::ios_base&))
{
std::istringstream iss(s);
return !(iss >> f >> t).fail();
}
如果是C的部分可以用atoi, atof function
但如果是str = "0" 會搞不清楚是fail return 0 還是convert to 0,如果是大於 INT_MAX,也就是 0x7FFFFFFF,就只會回傳 0x7FFFFFFF。
還有strtol functaion,可以參考下面的link
http://linux.die.net/man/3/strtol
至於atoi and strtol的差異就是strtol當有錯誤的時候,會設置errno
但atoi不能,所以可以說strtol是atoi的加強版,請參考下面的link
http://learn.akae.cn/media/ch25s03.html
https://www.securecoding.cert.org/confluence/display/seccode/INT06-C.+Use+strtol%28%29+or+a+related+function+to+convert+a+string+token+to+an+integer
所以建議用strtol
這個link有高手寫出C++ convert string to boolean,code如下
template
bool from_string(T &Value,const std::string &str,std::ios_base & (*f)(std::ios_base&))
// converts string to streamable value, and returns true on success and false otherwise.
{
std::istringstream stream(str);
stream>>f>>Value;
return (!stream.fail()) && stream.get()==std::istringstream::traits_type::eof();
}
如果是convert string to int,可以參考這個link
http://www.codeguru.com/forum/showthread.php?t=231054
code如下
template
bool from_string(T& t,
const std::string& s,
std::ios_base& (*f)(std::ios_base&))
{
std::istringstream iss(s);
return !(iss >> f >> t).fail();
}
如果是C的部分可以用atoi, atof function
但如果是str = "0" 會搞不清楚是fail return 0 還是convert to 0,如果是大於 INT_MAX,也就是 0x7FFFFFFF,就只會回傳 0x7FFFFFFF。
還有strtol functaion,可以參考下面的link
http://linux.die.net/man/3/strtol
至於atoi and strtol的差異就是strtol當有錯誤的時候,會設置errno
但atoi不能,所以可以說strtol是atoi的加強版,請參考下面的link
http://learn.akae.cn/media/ch25s03.html
https://www.securecoding.cert.org/confluence/display/seccode/INT06-C.+Use+strtol%28%29+or+a+related+function+to+convert+a+string+token+to+an+integer
所以建議用strtol
星期一, 4月 12, 2010
[Python] 超牛framework Twisted!!
http://twistedmatrix.com/trac/
這是網站
請先看FAQ
http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions
如果要寫server service的話,裡面有很多例子可以參考
http://twistedmatrix.com/documents/current/core/howto/application.html
這是網站
請先看FAQ
http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions
如果要寫server service的話,裡面有很多例子可以參考
http://twistedmatrix.com/documents/current/core/howto/application.html
星期六, 4月 10, 2010
訂閱:
文章 (Atom)