Xiaobo Sun

          Eclipse-Unix http://umlfact.berlios.de/~s_xsun/

          我的評論

          re: Java Stream Xiaobo Sun 2008-12-16 09:52  
          public static void main(String[] args) throws IOException {
          BufferedReader bufferedReader = new BufferedReader(
          new InputStreamReader(System.in));
          String s;
          while (bufferedReader.read() != -1) {
          System.out.println("input something:");
          s = bufferedReader.readLine();
          System.out.println("input is: " + s);
          }
          }
          ======================================
          java io 有兩種類型的讀寫方法。

          一種是以字節(jié)為單位讀寫的,InputStream、OutputStream(interface) 下面有很多類像FileInputStream、PipedInputStream 等皆繼承了上述接口。

          另外一種就是你上面提到的以unicode為單位進行讀寫的方法。 表現(xiàn)為 Reader、Writer、接口,像BufferedReader 就繼承了Reader接口。

          BufferedReader ****===> 在讀取的時候,會先開辟一個緩沖區(qū),把這些數(shù)據(jù)讀到緩沖區(qū),等到滿了以后,就直接拿出來。

          至于InputStreamReader,****===> An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and translates them into characters according to a specified character encoding.通過這個類可以把這兩種方式讀取出來的信息相互切換。

          system.in ****===> 這是控制臺輸入信息時讀入的管道。她繼承PrintStream ,而PrintStream 類 繼承了FilterOutputStream 類。這個類實現(xiàn)了OutputStream 接口。
          re: Linux 啟動 Xiaobo Sun 2008-12-10 20:32  
          啟動服務

          安裝完成后,vsftpd是作為一個獨立的服務啟動,不接受xinetd的管理。系統(tǒng)會自動在Service列表中添加名稱vsftpd的服務。啟動服務的步驟如下:

            1、Yast→System→System Services(Run level);

            2、在服務列表中選擇vsftpd,點擊下方的Enable按鈕,啟動服務,F(xiàn)inish。

            注意,在啟動vsftpd時可能會不能啟動,有時是因為它所依賴的服務沒有啟動,如syslog,這時選中syslog,點擊Enable按鈕。如果還是不能啟動,可以重新啟動xinetd服務,然后再啟動vsftpd服務。
          re: pkg-config學習 Xiaobo Sun 2008-10-15 12:15  
          CC = gcc
          all:
          $(CC) `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
          re: Makefile example Xiaobo Sun 2008-10-09 15:08  
          如果你要傳遞變量到下級Makefile中,那么你可以使用這樣的聲明:
          export <variable ...>;

          export variable := value
          其等價于:
          variable := value
          export variable

          export variable += value
          其等價于:
          variable += value
          export variable
          re: Makefile example Xiaobo Sun 2008-10-09 14:07  
          看一個例子:
          objects = foo.o bar.o
          all: $(objects)
          $(objects): %.o: %.c
          $(CC) -c $(CFLAGS) $< -o $@
          上面的例子中,指明了我們的目標從$object中獲取,“%.o”表明要所有以“.o”結尾的
          目標,也就是“foo.o bar.o”,也就是變量$object集合的模式,而依賴模式“%.c”則取模
          式“%.o”的“%”,也就是“foo bar”,并為其加下“.c”的后綴,于是,我們的依賴目標
          就是“foo.c bar.c”。而命令中的“$<”和“$@”則是自動化變量,“$<”表示所有的依賴
          目標集(也就是“foo.c bar.c”),“$@”表示目標集(也就是“foo.o bar.o”)。于是,
          上面的規(guī)則展開后等價于下面的規(guī)則:
          foo.o : foo.c
          $(CC) -c $(CFLAGS) foo.c -o foo.o
          bar.o : bar.c
          $(CC) -c $(CFLAGS) bar.c -o bar.o
          試想,如果我們的“%.o”有幾百個,那種我們只要用這種很簡單的“靜態(tài)模式規(guī)則”就
          可以寫完一堆規(guī)則,實在是太有效率了
          re: Makefile example Xiaobo Sun 2008-10-09 13:57  
          # macro
          GSOAPPATH=../../
          CCINCLUDE= -I$(GSOAPPATH)
          #CCINCLUDE+= -I$(RESPONSEPATH)
          CCFLAGS= -Wall -g
          OBJECTS= soapServiceRequestIFSOAPService.o soapC.o stdsoap2.o \
          soapServiceResponseIFSOAPProxy.o
          # targets
          all : server++ client++

          server++ : server.cpp $(OBJECTS)
          g++ $(CCFLAGS) $(CCINCLUDE) $^ -o $@

          client++ : client.cpp soapC.o stdsoap2.o soapServiceResponseIFSOAPProxy.o
          g++ $(CCFLAGS) $(CCINCLUDE) $^ -o $@

          soapServiceRequestIFSOAPService.o : soapServiceRequestIFSOAPService.cpp
          g++ -c $(CCINCLUDE) $^

          soapC.o : soapC.cpp
          g++ -c $(CCINCLUDE) $^

          stdsoap2.o : $(GSOAPPATH)stdsoap2.cpp
          g++ -c $(CCINCLUDE) $^

          soapServiceResponseIFSOAPProxy.o : soapServiceResponseIFSOAPProxy.cpp
          g++ -c $(CCINCLUDE) $^

          clean :
          rm -f server++ client++ *.o *~ *.swp

          .PHONY : all clean
          re: TCP: SYN ACK FIN RST PSH URG Xiaobo Sun 2008-10-09 12:38  
          其實在握手和結束時確認號應該是對方序列號加1,傳輸數(shù)據(jù)時則是對方序列號加上對方攜帶應用層數(shù)據(jù)的長度.如果從以太網(wǎng)包返回來計算所加的長度,就嫌走彎路了.
          另外,如果對方?jīng)]有數(shù)據(jù)過來,則自己的確認號不變,序列號為上次的序列號加上本次應用層數(shù)據(jù)發(fā)送長度.
          re: TCP: SYN ACK FIN RST PSH URG Xiaobo Sun 2008-10-09 12:35  
          握手階段:
          序號 方向 seq ack
          1  A->B 10000 0
          2 B->A 20000 10000+1=10001
          3 A->B 10001 20000+1=20001
          解釋:
          1:A向B發(fā)起連接請求,以一個隨機數(shù)初始化A的seq,這里假設為10000,此時ACK=0

          2:B收到A的連接請求后,也以一個隨機數(shù)初始化B的seq,這里假設為20000,意思是:你的請求我已收到,我這方的數(shù)據(jù)流就從這個數(shù)開始。B的ACK是A的seq加1,即10000+1=10001

          3:A收到B的回復后,它的seq是它的上個請求的seq加1,即10000+1=10001,意思也是:你的回復我收到了,我這方的數(shù)據(jù)流就從這個數(shù)開始。A此時的ACK是B的seq加1,即20000+1=20001


          數(shù)據(jù)傳輸階段:
          序號  方向      seq ack size
          23 A->B 40000 70000 1514
          24 B->A 70000 40000+1514-54=41460 54
          25 A->B 41460 70000+54-54=70000 1514
          26 B->A 70000 41460+1514-54=42920 54
          解釋:
          23:B接收到A發(fā)來的seq=40000,ack=70000,size=1514的數(shù)據(jù)包
          24:于是B向A也發(fā)一個數(shù)據(jù)包,告訴B,你的上個包我收到了。B的seq就以它收到的數(shù)據(jù)包的ACK填充,ACK是它收到的數(shù)據(jù)包的SEQ加上數(shù)據(jù)包的大小(不包括以太網(wǎng)協(xié)議頭,IP頭,TCP頭),以證實B發(fā)過來的數(shù)據(jù)全收到了。
          25:A在收到B發(fā)過來的ack為41460的數(shù)據(jù)包時,一看到41460,正好是它的上個數(shù)據(jù)包的seq加上包的大小,就明白,上次發(fā)送的數(shù)據(jù)包已安全到達。于是它再發(fā)一個數(shù)據(jù)包給B。這個正在發(fā)送的數(shù)據(jù)包的seq也以它收到的數(shù)據(jù)包的ACK填充,ACK就以它收到的數(shù)據(jù)包的seq(70000)加上包的size(54)填充,即ack=70000+54-54(全是頭長,沒數(shù)據(jù)項)。
          26:一樣的啊
          re: # ps -aux |grep sysprocess Xiaobo Sun 2008-07-28 11:09  
          ps a 顯示現(xiàn)行終端機下的所有程序,包括其他用戶的程序。
              2)ps -A 顯示所有程序。
              3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務的標示。
              4)ps -e 此參數(shù)的效果和指定"A"參數(shù)相同。
              5)ps e 列出程序時,顯示每個程序所使用的環(huán)境變量。
              6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
              7)ps -H 顯示樹狀結構,表示程序間的相互關系。
              8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。
              9)ps s 采用程序信號的格式顯示程序狀況。
              10)ps S 列出程序時,包括已中斷的子程序資料。
              11)ps -t  指定終端機編號,并列出屬于該終端機的程序的狀況。
              12)ps u  以用戶為主的格式來顯示程序狀況。
              13)ps x  顯示所有程序,不以終端機來區(qū)分。
            最常用的方法是ps -aux,然后再利用一個管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黎川县| 武威市| 高雄市| 灌云县| 辽阳县| 大荔县| 南昌县| 图木舒克市| 德钦县| 宜兰市| 迁安市| 南陵县| 定边县| 聂荣县| 喀什市| 子长县| 武胜县| 堆龙德庆县| 集安市| 新昌县| 红桥区| 前郭尔| 留坝县| 华容县| 南安市| 清原| 安乡县| 馆陶县| 平度市| 喀喇| 竹溪县| 仲巴县| 怀来县| 大冶市| 开远市| 磴口县| 广昌县| 桑植县| 南木林县| 石楼县| 嘉兴市|