2013-02-07 65 views
0

也許我還沒有完全醒了,但我要通過Beej的網絡編程指南對數據報套接字Beej的網絡指南

http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#simpleserver

,我由最初的一片迷茫中客戶端。在演示中沒有指定命令行參數,但是,它看起來像代碼中有多個調用來檢查參數計數。例如,在第一個if語句中,如果計數不存在,則檢查計數爲3。

if (argc != 3) { 
    fprintf(stderr,"usage: talker hostname message\n"); 
    exit(1); 
} 

有人可以解釋這裏發生了什麼嗎?

感謝您提前提供任何幫助。

回答

2

他希望該程序有兩個參數,「主機名」和「消息」被調用,這將是argv[1]argv[2]分別與可執行文件,./talker或類似的名稱保留argv[0]

「說話者」程序向「偵聽者」程序發送一條消息,並且它需要知道要發送的消息以及將消息發送到何處(主機名)。

+0

Got it!雖然論點沒有明確說明,但我可以很聰明地看着服務器,看看有什麼期望。謝謝您的幫助! – dsell002

1

我認爲你讀的是錯誤的代碼。 talker程序確實採用通常的argcargv參數到main()

+0

我很抱歉,因爲我的問題不清楚。我不確定命令行參數應該是什麼,但是他們是通過meagar回答的。謝謝您的回覆。 – dsell002