顯示具有 Network Programming 標籤的文章。 顯示所有文章
顯示具有 Network Programming 標籤的文章。 顯示所有文章

2011-05-27

NP 作業3

Netkitty, or nk (Just like netcat)
Please refer to netcat to see what to implement.
Basic requirements
1. Read from standard input and write to standard output, and transfer the data like netcat does. (35%)
2. Execute a program on a remote machine. A user can input parameters for a program if needed, and can see the execution output. (i.e., a remots shell) (50%)
3. Implement as many as Netcat can do (e.g., supporting more command options). Add 5% for each new function.

Due date: May 22 → 28
Additional hints
use ‘getopt’ for command parsing (see getopt(3))

--
說要像netcat,那直接執行摳不摳亦咧豬腳大人~?(歪頭裝口愛)

2011-04-25

NP作業2


homework2 作業題目
In this homework, you will write a pair of Little Messenger client and server. The requirements of the Messenger system is as follows.
1. The Messenger client operates in dual modes: command mode and chatting mode. (10%)
2. A user can register a new account from the Messenger client on line, and log in on the Messenger server. (20%)
3. The user can list on-line users on the server.(10%)
4. A user can send messages to another on-line user, or start a conversation with him or her.(20%)
5. A user can broadcast a message to all on-line users. (10%)
6. A user can leave a off-line message to another, and he/she can see the off-line message when he/she logs in.(10%)
7. A user can log out the server. (5%)
8. Add 5 points for each new function.
You do not have to design a GUI like Live Messenger. A text-mode interface is pretty fine. The server can be on an arbitrary port. Due date: Apr. 29.


note:

gcc -o


(ca)

工作站> setenv LC_ALL zh_TW.UTF-8
把目前連線全部的編碼方式都改成UTF-8


[抓蟲中]
以下是流程圖,一樣是用office2010 power point快取圖樣拉的。









參考資料:

1. The World of select()
http://www.lowtek.com/sockets/select.html

So one main advantage of using select() is that your server will only require a single process to handle all requests. Thus, your server will not need shared memory or synchronization primitives for different 'tasks' to communicate.
> ya!! 一個process!! no more fork!!


2. 
unpv13e/
select/strcliselect01.c
select/strcliselect02.c
tcpcliserv/tcpservselect01.c
tcpcliserv/tcpservpoll01.c


3. Socket Client Examples
 http://www.tutorialspoint.com/unix_sockets/socket_client_example.htm

4. gcc 語法
http://aikosenoo.pixnet.net/blog/post/23038692

2011-04-12

NP作業1

因為沒有閒置機器可供玩轉,所以先安裝虛擬機器
(以下說明網頁來自重灌狂人)


  • 一、在主電腦安裝VirtualBox軟體

  • 二、在VirtualBox建立新的虛擬電腦

  • 三、建立新的虛擬硬碟機

  • 四、選定開機光碟機

  • 五、啟動虛擬電腦、安裝作業系統

  • 六、安裝好系統,更新VirtualBox專屬驅動程式



  • 當然5.6那兩點跟作業需求的Unix-like不一樣。

    應用OS fedora,google後就有關網可供下載iso。

    虛擬光碟軟體:http://www.daemon-tools.cc/eng/home 我只裝了lite,其他功能用不到。


    接下來作業要求

    homework01 作業題目

    In this homework, you will write a simple Web server with C/C++ in the UNIX environment. The specification of this Web server is as follows:

    1. The Web server can be accessed from one of the GUI-based Web browsers, such as IE, Firefox, etc. (40%)

    (還好是一個就OK....)

    2. The user can access an HTML file on the server on the Web browser. (20%)

    3. The user can access a picture (in the format of JPEG or GIF, etc.) from the Web browser. (15%)

    4. The Web server can handle zombie processes well.(10%)

    5. Add 5 points for each new function (access control, support more data types, ...)

    Your Web server will listen on port 80 if possible (but not required). Please upload your report (in one or two pages) in PDF format to e-course by 4/6, and demonstrate your program to the TAs in that week.



    同學提供參考網址: http://www.jbox.dk/sanos/webserver.htm

    fedora沒有內建vim,這怎麼可以呢!!


    要先切到admin account才可以安裝。
    要改兩個檔案不要忘記了~



    如何在Fedora中安裝vim → http://hi.baidu.com/xuehuo_0411/blog/item/f34197968c49287d54fb9652.html

    yum install vim

    也不要忘記安裝gcc....



    [完成]
    以下是用office2010 power point快取圖樣做的流程圖