第一篇:TCP 報頭格式
TCP協(xié)議頭最少20個字節(jié),包括以下的區(qū)域
TCP源端口(Source Port):16位的源端口其中包含初始化通信的端口。源端口和源IP地址的作用是 標(biāo)示報問的返回地址。
TCP目的端口(Destination port):16位的目的端口域定義傳輸?shù)哪康摹_@個端口指明報文接收計算 機(jī)上的應(yīng)用程序地址接口。
TCP序列號(序列碼,Sequence Number):32位
TCP應(yīng)答號(Acknowledgment Number):32位的序列號由接收端計算機(jī)使用,重組分段的報文成最初形式。,如果設(shè)置了ACK控制位,這個值表示一個準(zhǔn)備接收的包的序列碼。
數(shù)據(jù)偏移量(HLEN):4位包括TCP頭大小,指示何處數(shù)據(jù)開始。
保留(Reserved):6位值域,這些位必須是0。為了將來定義新的用途所保留。
標(biāo)志(Code Bits):6位標(biāo)志域。表示為:緊急標(biāo)志、有意義的應(yīng)答標(biāo)志、推、重置連接標(biāo)志、同步序列號標(biāo)志、完成發(fā)送數(shù)據(jù)標(biāo)志。按照順序排列是:URG、ACK、PSH、RST、SYN、FIN。
1.URG:緊急標(biāo)志
緊急(The urgent pointer)標(biāo)志有效。緊急標(biāo)志置位,2.ACK:確認(rèn)標(biāo)志
確認(rèn)編號(Acknowledgement Number)欄有效。大多數(shù)情況下該標(biāo)志位是置位的。TCP報頭內(nèi)的確認(rèn)編號欄內(nèi)包含的確認(rèn)編號(w+1,F(xiàn)igure:1)為下一個預(yù)期的序列編號,同時提示遠(yuǎn)端系統(tǒng)已經(jīng)成功接收所有數(shù)據(jù)。3.PSH:推標(biāo)志
該標(biāo)志置位時,接收端不將該數(shù)據(jù)進(jìn)行隊列處理,而是盡可能快將數(shù)據(jù)轉(zhuǎn)由應(yīng)用處理。在處理 telnet 或rlogin 等交互模式的連接時,該標(biāo)志總是置位的。4.RST:復(fù)位標(biāo)志
復(fù)位標(biāo)志有效。用于復(fù)位相應(yīng)的TCP連接。5.SYN:同步標(biāo)志
同步序列編號(Synchronize Sequence Numbers)欄有效。該標(biāo)志僅在三次握手建立TCP連接時有效。它提示TCP連接的服務(wù)端檢查序列編號,該序列編號為TCP連接初始端(一般是客戶端)的初始序列編號。在這里,可以把TCP序列編號看作是一個范圍從0到4,294,967,295的32位計數(shù)器。通過TCP連接交換的數(shù)據(jù)中每一個字節(jié)都經(jīng)過序列編號。在TCP報頭中的序列編號欄包括了TCP分段中第一個字節(jié)的序列編號。6.FIN:結(jié)束標(biāo)志
帶有該標(biāo)志置位的數(shù)據(jù)包用來結(jié)束一個TCP回話,但對應(yīng)端口仍處于開放狀態(tài),準(zhǔn)備接收后續(xù)數(shù)據(jù)。
窗口(Window):16位,用來表示想收到的每個TCP數(shù)據(jù)段的大小。
校驗位(Checksum):16位TCP頭。源機(jī)器基于數(shù)據(jù)內(nèi)容計算一個數(shù)值,收信息機(jī)要與源機(jī)器數(shù)值 結(jié)果完全一樣,從而證明數(shù)據(jù)的有效性。
優(yōu)先指針(緊急,Urgent Pointer):16位,指向后面是優(yōu)先數(shù)據(jù)的字節(jié),在URG標(biāo)志設(shè)置了時才有效。如果URG標(biāo)志沒有被設(shè)置,緊急域作為填充。加快處理標(biāo)示為緊急的數(shù)據(jù)段。
選項(Option):長度不定,但長度必須以字節(jié)。如果 沒有 選項就表示這個一字節(jié)的域等于0。
數(shù)據(jù)(Date):應(yīng)用程序的數(shù)據(jù)。
第二篇:簡報頭
內(nèi)部資料
注意保存
無為縣創(chuàng)先爭優(yōu)活動
簡報
第 18 期
中共無為縣委創(chuàng)先爭優(yōu)
活動領(lǐng)導(dǎo)小組辦公室2010年 6月 24日
赫店鎮(zhèn)積極籌建村黨員活動室
為了強(qiáng)化黨組織的戰(zhàn)斗堡壘作用,赫店鎮(zhèn)在創(chuàng)先爭優(yōu)活動中,狠抓村黨員活動室建設(shè),在近幾年建好6個村黨員活動室的基礎(chǔ)上,今年又把黃墩、神墩、赫店社區(qū)三個村(社區(qū))黨員活動室建設(shè)作為一項重點工作來抓。在資金籌集上,三個村都采取四個一點的方法,即上面爭取一點、政府貼一點、村上自籌一點、有能力的黨員捐一點。黃墩村正在建設(shè)9間288平米的村衛(wèi)生室和黨員活動室,該村老黨員丁祖衡同志捐款10000
元,老黨員馮士財同志父子捐款15000元,黨員錢光松同志捐款2000元,黨支部書記錢揚榮同志捐出一年工資,另外在丁祖衡同志倡導(dǎo)下黨員群眾為村黨員活動室捐地近兩畝;赫店社區(qū)籌款30多萬元,擬建設(shè)一座辦公樓,神墩村也籌集了資金,目前正在征地中。
紅廟鎮(zhèn)流動黨員“雙為”有作為
近日,無為縣紅廟鎮(zhèn)在創(chuàng)先爭優(yōu)活動中,積極發(fā)揮流動黨員和在外創(chuàng)業(yè)成功人士的先鋒模范作用,在流動黨員中深入開展“為加快家鄉(xiāng)發(fā)展作貢獻(xiàn)、為促進(jìn)當(dāng)?shù)胤睒s當(dāng)先鋒”“雙為 標(biāo)兵活動。
該鎮(zhèn)橫塘村的現(xiàn)任北京翠玉緣集團(tuán)董事長王后春、總經(jīng)理王后榮兩兄弟捐款12萬元,駐京黨支部書記葉其榮捐款3萬元,駐滬黨支部石天明先后捐款16萬元,在他們的帶動下,流動黨員們共捐款近百萬元,用于家鄉(xiāng)村級道路建設(shè)。同時,現(xiàn)任天津山河環(huán)保總公司董事長、天津市政協(xié)委員、紅廟鎮(zhèn)駐天津黨支部流動黨員花明,在先期捐款15萬元用于村級道路建設(shè)的基礎(chǔ)上,近日,又親自回到家鄉(xiāng)進(jìn)行投資考察,力求為家鄉(xiāng)發(fā)展作出新貢獻(xiàn)。
牛埠鎮(zhèn)土橋社區(qū)開展“共產(chǎn)黨員奉獻(xiàn)在社區(qū)”主題活動
土橋社區(qū)從5月份起在轄區(qū)內(nèi)全體共產(chǎn)黨員中開展以“共產(chǎn)黨員奉獻(xiàn)在社區(qū)”為主題的創(chuàng)先爭優(yōu)活動,充分發(fā)揮共產(chǎn)黨員的先鋒模范作用,樹立共產(chǎn)黨員的良好形象。
社區(qū)充分發(fā)揮 “兩委”的核心作用,激發(fā)和引導(dǎo)廣大黨員干部深入基層、求真務(wù)實,主動幫助困難群眾。在社區(qū)建設(shè)中,積極組織黨員參加社區(qū)衛(wèi)生保潔、治安巡邏、鄰里互助幫扶、民事糾紛調(diào)解、法律援助、義務(wù)勞動等活動;建立社區(qū)分片“共產(chǎn)黨員服務(wù)組”,以黨員身份解決居民的民事糾紛等問題。
社區(qū)廣大黨員以實際行動踐行全心全意為人民服務(wù)的宗旨,營造了創(chuàng)先爭優(yōu)的良好氛圍。
報:市委創(chuàng)先爭優(yōu)活動領(lǐng)導(dǎo)小組及其辦公室,縣委創(chuàng)先爭優(yōu)活動領(lǐng)導(dǎo)小組成員 發(fā):各鄉(xiāng)鎮(zhèn)黨委,縣直及中央、省、市駐無各單位黨委、總支、支部中共無為縣委創(chuàng)先爭優(yōu)活動領(lǐng)導(dǎo)小組辦公室2010年 月日電子信箱:wwcxzybgs@126.com(共印130份)
第三篇:慶祝國慶報頭設(shè)計
第四篇:春節(jié)黑板報報頭
過年到了,意味著春天將要來臨,萬象復(fù)蘇草木更新,新一輪播種和收獲季節(jié)又要開始,看看下面的過年黑板報吧!
春節(jié)黑板報報頭
節(jié)日簡介
人們剛剛度過冰天雪地草木凋零的漫漫寒冬,早就盼望著春暖花開,生機(jī)勃勃的日子,當(dāng)新春到來之際,自然要充滿喜悅,載歌載舞地迎接這個節(jié)日。
過年又叫陰歷年、農(nóng)歷新年、農(nóng)歷年、舊歷年,俗稱“過年、大年、過大年”。過年的歷史很悠久,它起源于殷商時期年頭歲尾的祭神祭祖活動。古時過年曾專指二十四節(jié)氣中的立春,后來改為夏歷正月初一(即農(nóng)歷正月初一),被視為農(nóng)歷年的開始,即為歲首。按照我國農(nóng)歷,正月初一古稱元日、元辰、元正、元朔、元旦等,俗稱年初一。這是我國民間最隆重、最熱鬧的一個傳統(tǒng)節(jié)日。而傳統(tǒng)意義上的過年,是從臘月初八的臘祭或臘月廿
三、廿四的祭灶,直到正月十五日元宵節(jié)(有的是正月十九)結(jié)束,有些地方甚至到整個正月,均以除夕和正月初一為高潮。
剪紙
過年是漢族最重要的傳統(tǒng)節(jié)日。在過年這一傳統(tǒng)節(jié)日期間,人們舉行各種慶祝活動,這些活動大多以祭祀神佛、祭奠祖先、除舊布新、迎喜接福、祈求豐年為主要內(nèi)容。瑤、壯、白、高山、赫哲、哈尼、達(dá)斡爾、侗、黎、滿、蒙古、等十幾個少數(shù)民族也有過過年的習(xí)俗,只是過節(jié)的形式各具自己的民族特色。
過年是東亞許多國家和地區(qū)慶祝新年的主要節(jié)日。越南語稱為“Tt Nguyên án”(元旦)、日語稱為“正月”(注:日本節(jié)日“正月”類似于中國的元旦也即1月1日。)(明治維新后改稱舊正月)。現(xiàn)在過年除了在中國、朝鮮半島、越南、日本等地之外,在蒙古、老撾、緬甸、柬埔寨、泰國、新加坡、馬來西亞、印度尼西亞等地也都是最重要的節(jié)日之一。
過年與清明節(jié)、端午節(jié)、中秋節(jié)并稱為中國漢族的四大傳統(tǒng)節(jié)日。“過年”一詞已入選中國世界紀(jì)錄協(xié)會中國最大的節(jié)日,位居中國四大傳統(tǒng)節(jié)日之首。2006年5月20日,“過年”民俗經(jīng)國務(wù)院批準(zhǔn)列入第一批國家級非物質(zhì)文化遺產(chǎn)名錄。
據(jù)《爾雅》記載,堯舜時稱年為“載”,夏代稱年為“歲”,商代稱年為“祀”,直到周代才稱為“年”。
節(jié)日起源
傳說
過年的歷史很悠久,傳說早在新石器時期堯舜時就有過“過年”的風(fēng)俗。
關(guān)于“過年”的起源,有一種傳說是:中國古時候有一種叫“年”的獸。“年”,頭長觸角,兇猛異常。“年”長年深居海底,每到特定的一天(就是現(xiàn)在的除夕)才爬上岸,吞食牲畜傷害人命。因此,每到除夕這天,村村寨寨的人們扶老攜幼逃往深山,以躲避“年”的傷害。有一年除夕,從村外來了個乞討的老人。鄉(xiāng)里一片匆忙恐慌景象,沒有人理會他,只有村東頭一位老婆婆給了老人些食物,并勸他快上山躲避“年”,那老人把胡子撩起來笑道:“婆婆若讓我在家呆一夜,我一定把‘年’趕走。”老婆婆繼續(xù)勸說,乞討老人笑而不語。
半夜時分,“年”闖進(jìn)村。它發(fā)現(xiàn)村里氣氛與往年不同:村東頭老婆婆家,門貼大紅紙,屋內(nèi)燭火通明。“年”渾身一抖,怪叫了一聲。將近門口時,院內(nèi)突然傳來“噼里啪啦”的炸響聲,“年”渾身戰(zhàn)栗,再不敢往前湊了。原來,“年”最怕紅色、火光和炸響。這時,婆婆的家門打開,只見院內(nèi)一位身披紅袍的老人在哈哈大笑。“年”大驚失色,狼狽逃躥了。
第二天是正月初一,避難回來的人們見村里安然無恙,十分驚奇。這時,老婆婆才恍然大悟,趕忙向鄉(xiāng)親們述說了乞討老人的許諾。這件事很快在周圍村里傳開了,人們都知道了驅(qū)趕“年”的辦法。從此每年除夕,家家貼紅對聯(lián)、燃放爆竹;
戶戶燭火通明、守更待歲。初一一大早,還要走親串友道喜問好。這風(fēng)俗廣泛流傳,成了中國民間最隆重的傳統(tǒng)節(jié)日。
有說“過年”起源于中國殷商時期年頭歲尾的祭神祭祖活動(臘祭)。西周初年已有了一年一度在新舊歲交替之際慶祝豐收和祭祀祖先的風(fēng)俗活動,可以認(rèn)為是“年”的雛形。但“年”的名稱出現(xiàn)卻較晚,年的名稱是從周朝開始的。古代帝王繼位,為了顯示“天子”的權(quán)威,往往自立歷法(在歷史上的不同朝代,年的時間不一樣,兔年祝福語《兔年過年黑板報內(nèi)容》。夏代以一月為一年之首;
商代以十二月為歲首,周代以十一月為歲首,秦代以十月為歲首。西漢時,漢武帝下詔推行太初歷,才明確規(guī)定一月初一為歲首,以之為夏歷新年)。年的時間到了西漢才正式固定下來,一直延續(xù)到今天。漢武帝(公元前140年~前87年)繼位,決定重修歷法使之統(tǒng)一,司馬遷建議創(chuàng)立了太初歷,把過年定在孟春正月。今日我們所采用的歷法是漢武帝以后,經(jīng)過多個朝代修定的,但農(nóng)歷正月初一為“元旦”的年節(jié)作為中華民族最隆重的節(jié)日,以固定的日子沿襲下來。
概念
過年和年的概念,最初的含意來自農(nóng)業(yè)。過年對中華民族可以說源遠(yuǎn)流長,有了數(shù)千年的歷史。而“過年”的起源和農(nóng)業(yè)生產(chǎn)密不可分,大約在新石器時期,先民們根據(jù)農(nóng)作物的生長周期發(fā)現(xiàn)了春夏秋冬四季交替的規(guī)律,由此有了“年”的概念。在夏商時代產(chǎn)生了夏歷,以月亮圓缺的周期為月,一年劃分為十二個月,每月以不見月亮的那天為朔,正月朔日的子時稱為歲首,即一年的開始。
“年”的甲骨文寫法為上面部分為“禾”字,下面部分為“人”字。金文的“年”字也與甲骨文相同也從禾、從人。小篆的“年”寫作“秊”,《說文解字·禾部》:“秊,谷熟也。從禾,從千聲。”小篆將“人”字訛變?yōu)椤扒А绷耍蚨S慎用了此說,而“千”字本為有飾的人,此解也并不矛盾(見陳初生《金文常用詞典》)。“禾”是谷物的總稱,不能錯解僅為“小麥”。年成的好壞,主要由“禾”的生長和收成情況來決定,而現(xiàn)在已發(fā)掘出來的甲骨文中的“禾”字,幾乎都是看上去沉甸甸地被壓彎了腰,可見它象征著取得谷物生產(chǎn)的大豐收。“年”字下面的“人”字又作何解釋呢?從甲骨文看,“年”字好象是人頭上頂著沉甸甸的谷子的樣子,象征著人們豐收后的慶祝。
來歷
農(nóng)歷正月初一是過年,又叫陰歷(農(nóng)歷)年,俗稱“過年”。這是中國民間歷史最悠久、最隆重、最熱鬧的一個古老傳統(tǒng)節(jié)日,也是漢族和滿、蒙古,瑤、壯白、高山、赫哲、哈尼、達(dá)斡爾、侗、黎等十幾個少數(shù)民族的共同節(jié)日。漢族過過年,時間較長,一般從農(nóng)歷臘月初八開始,到正月十五元宵節(jié)為止。
過年大約有三四千年的歷史。原為農(nóng)歷的元旦,即人們通常說的過年。它起源于殷商時期年頭歲尾的祭神祭祖活動。有關(guān)年的傳說也很多。古代的過年 叫“元日”、“新年”、“正旦”、“歲首”、“三元”、等。
1911年辛亥革命后,南京臨時政府為了順應(yīng)農(nóng)時和便于統(tǒng)計,規(guī)定在民間使用夏歷,在政府機(jī)關(guān)、廠礦、學(xué)校和團(tuán)體中實行公歷,以公歷的元月一日為“元旦”,農(nóng)歷的正月初一稱“過年”。據(jù)考證,過年成為正式冠名就是在辛亥革命以后。1911年10月武昌起義,12月31日革命黨人的湖北軍政府在發(fā)布的《內(nèi)務(wù)部關(guān)于中華民國改用陽歷的通諭》中,明確的將(農(nóng)歷的)年節(jié)稱為“過年”。1949年9月27日,新中國正式成立,中國人民政治協(xié)商會議第一屆全體會議上,通過了使用世界上通用的公歷紀(jì)元,把公歷的元月一日定為元旦,俗稱陽歷年;
農(nóng)歷正月初一通常都在立春前后,因而把農(nóng)歷正月初一定為“過年”,俗稱陰歷年,進(jìn)一步明確了農(nóng)歷正月初一稱為“過年”,“過年”之名正式列入中國節(jié)日法典,真正被廣為流行至今。
漫長的歷史歲月使年俗活動內(nèi)容變得異常豐富多彩。其中,那些敬天祭神的迷信內(nèi)容,已逐漸被淘汰,而那些富有生活情趣的內(nèi)容,像貼
春聯(lián)、貼年畫、貼“福”字、剪窗花、蒸年糕、包餃子等則流傳了下來。
辭舊迎新
自古至今,人們都強(qiáng)調(diào)過年作為一年開端的意義。漢代的《尚書大傳》說:“正月一日為歲之朝,月之朝,日之朝,故曰:‘三朝’,亦曰:‘三始’。”意思是說:正月一日是一年的開端,一月的開端,一日的開端。隋代杜臺卿《玉燭寶典》說:“正月一日為元日,亦云‘三元’:歲之元,時之元,月之元。”意思是說:這一天是新年的開端,新季節(jié)的開端,新月份的開端。
可是,這只是我們傳統(tǒng)歷法所確定的一年的第一天。
過年日期在公歷上的不固定,并不是由于我國傳統(tǒng)歷法不科學(xué),而是由于我們祖先的哲學(xué)觀念與西方人不同。西方哲學(xué)強(qiáng)調(diào)對立,所以基督教只能選擇一神論,其歷法就以太陽為唯一依據(jù);
中國哲學(xué)強(qiáng)調(diào)和諧,陰陽調(diào)和,才能生生不息,所以我們的歷法對太陽與月亮并重。中西兩種歷法的不同反映了中西兩種哲學(xué)的不同,這是一個文化選擇的問題,一個價值觀的問題,而不存在哪一方更科學(xué)的問題。由于西方文化的優(yōu)勢地位,他們的歷法在世界范圍得到普遍使用,為了方便,我國政府在公務(wù)活動中采取公歷,這是適當(dāng)?shù)摹5牵珰v根本無法反映我們的哲學(xué)觀念,我們傳統(tǒng)的節(jié)日也根本無法在公歷中體現(xiàn)出來。所以,政府也同時頒布夏歷,用以安排日常生活。不僅我國如此,東鄰韓國也同時實行這兩種歷法。
節(jié)日習(xí)俗
漢族的過年習(xí)俗,一般以吃年糕、餃子、糍粑、湯圓、荷包蛋、大肉丸、全魚、
第五篇:TCP IP網(wǎng)絡(luò)通信程序設(shè)計
TCP/IP網(wǎng)絡(luò)通信程序設(shè)計
本文介紹了TCP/IP網(wǎng)絡(luò)應(yīng)用程序的面向?qū)ο笤O(shè)計方法,并給出了用Visual C++4.2
中MFC在Windows 95環(huán)境下開發(fā)的程序?qū)嵗ockets與Winsock 95
Winsock 95是在Unix Sockets及Windows Sockets基礎(chǔ)上發(fā)展起來的。Sockets原
是BSD為了Unix支持互聯(lián)網(wǎng)通信而設(shè)計的4.3BSD Unix版本中的API,它采用客戶-服務(wù)器
模式的通信機(jī)制,使網(wǎng)絡(luò)客戶方和服務(wù)器方通過Sockets實現(xiàn)網(wǎng)絡(luò)之間的聯(lián)接和數(shù)據(jù)交
換;Win dows Sockets描述定義了一個Microsoft Windows的網(wǎng)絡(luò)編程界面,它為
Windows TCP/IP 提供了一個BSD型套接字,除與4.3BSD Unix Sockets完全兼容外,還
包括一個擴(kuò)充文件,通過一組附加的API實現(xiàn)Windows式(即事件驅(qū)動)的編程風(fēng)格;而
Winsock 95則是在Microsoft Windows 95中進(jìn)行網(wǎng)絡(luò)應(yīng)用程序設(shè)計的接口。Windows 95
在Internet支配域中的TCP /IP協(xié)議定義了Winsock 95網(wǎng)絡(luò)編程規(guī)范,溶入了許多新特點。
MFC中提供了相應(yīng)的CSock et類來實現(xiàn)網(wǎng)絡(luò)通信。Sockets編程原理
Sockets同時支持?jǐn)?shù)據(jù)流Sockets和數(shù)據(jù)報Sockets。
下面是利用Socket進(jìn)行通信連接的過程框圖。其中圖1是面向連接的時序圖,圖2是
無連接的時序圖。
圖1
圖2
由圖可以看出,客戶與服務(wù)器的關(guān)系是不對稱的。對于TCP C/S,服務(wù)器首先啟動,然后在某一時刻啟動客戶與服務(wù)器建立連接。服務(wù)器與客戶開始都必須調(diào)用socket()
建立一個套接字socket,然后服務(wù)器調(diào)用bind()將套接字與一個本地網(wǎng)絡(luò)地址捆扎在一
起,再調(diào)用listen()使套接字處于一種被動的準(zhǔn)備接收狀態(tài),同時規(guī)定它的請求隊列長
度,之后服務(wù)器就可以調(diào)用accept()來接收客戶連接。客戶打開套接字之后,便可通過
調(diào)用connect()和服務(wù)器建立連接。連接建立之后,客戶和服務(wù)器之間就可以通過連接
發(fā)送和接收數(shù)據(jù)。最后,待數(shù)據(jù)傳送結(jié)束,雙方調(diào)用closesocket()關(guān)閉套接字。對于
UDP C/S,客戶并不與服務(wù)器建立一個連接,而僅僅給服務(wù)器發(fā)送一張包含服務(wù)器地址的數(shù)據(jù)報。相似地,服務(wù)器也不從客戶端接收一個連接,只是調(diào)用函數(shù)recvfrom,等待
從客戶端來的數(shù)據(jù)。依照recvfrom返回的協(xié)議地址以及數(shù)據(jù)報,服務(wù)器就可以給客戶
送一個應(yīng)答。Winsock 95編程方法
用Visual C++4.2以MFC在Windows 95中實現(xiàn)網(wǎng)絡(luò)編程,主要就是利用CSocket類及
其如下相關(guān)成員函數(shù):
(1)BOOL Create(UINT nSocketPort=0,intnSocketType=SOCK_STREAM,long lEvent=FD_READ|FD_WRITE|FD_OOD|FD_ACCEPT|FD_CONNECT|FD_CLOSE|,LPCTSTR|lpszSocket Address=NULL
該函數(shù)用來建立Socket。
(2)BOOL Bind(UINT nSocketPort,LPCTSTRlpszSocketAddess=NULL)該函數(shù)的作用是將Socket端口與網(wǎng)絡(luò)地址連接起來。
(3)BOOL Listen(intnConnectionBacklog=5)
該函數(shù)的作用是等待Socket請求。
(4)Virtual BOOL
Accept(CAsyncSocket&rConnectedSocket,Socket,SOCKADDR*
lpSockAddr=NULL,int * lpSockAddrLen=NULL)
該函數(shù)的作用是取得隊列上第一個連接請求并建立一個具有與Socket相同特性的套接字。
(5)BOOL Connect(LPCTSTR lpszHostAddress,UINTnHostPort)
該函數(shù)的作用是提出請求。其中,lpszHostAddress和nHostPort為接受請求進(jìn)
程的網(wǎng)絡(luò)地址和Socket端口號。
(6)virtual void Close()該函數(shù)的作用是關(guān)閉Socket。
使用以上類及成員函數(shù),按照以下步驟,就可以設(shè)計出合適的通信程序: Server:Construct→Creat→Bind→Listen→Accept→Send→Close;
Client:Constuct→Creat→Connect→Receive→Close。程序?qū)嵗?/p>
我們用Visual C++4.2中MFC在Windows 95環(huán)境下設(shè)計了一個daytime cliont程序,清單如下:
頭文件HEAD.H內(nèi)容:
#define IDM_STRAT 200
#define IDM_EDIT 200
classMainwnd:publicCFrameWnd
{public:Mainwnd();
afx_msgintOnCreat(LPCREATESTRUCT);
afx_msg void OnStart(void);
DECLARE_MESSAGE_MAP();
private:CstaticCSStatic;
CEditLineEdit;
CButtenStartButton;};
classPengApp:publicCWinApp
{public:BOOLInitInstance();}
源程序Client.CPP清單:
#include
#include
#include “head.h”
constintnPort=13;
PengApptheApp;
Main Wnd:MainWnd()
{if(!Create(NULL,“CommunicationProgram”,WS_OVERLAPPEDW INDOW,rectDefaul t))AfxAbort();}
intMainwnd:OnCreate(LPCREATESTRUCT)
{Rectrect;SetRect(& rect,80,50,160,70);
Create(“Host Name:”,WS_CHILD|WS_VISIBLE|SS_LEFT,rect,thi s);
SetRect(& rect,60,80,180,100);
LineEdit.Create(WS_CHILD|WS_VISIBLE|WS_DLGFRAME|ES_LEFT, rect,this,IDM_ED IT);
SetRect(&rect,100,120,140,140);
StartButton,Create(“start”,WS_CHILD|VS_VISIBLE|BS_PUSHBU TTON,rect,this,I DM_START);
return 0;}
BEGIN_MESSAGE_MAP(Main Wnd,CFrameWnd)
ON_WM_CREATE()
ON_BN_CLICKED(IDM_START,OnStart)
END_MESSAGE_MAP()
BOOL ControlApp:InitInstance()
{m_pMainWnd=new Main Wnd();
m_pMainWnd→ShowWindow(m_nCmdShow);
m_pMainWnd→UpdateWindow();
return;}
Void Main Wnd:Onstart(void)
{CSocketTimeClient;
if(!AfxSocketInit())MessageBox(“WindowsSocket initialfailed!”,“Receive”,MB_ICONSTOP);
if(!TimeClient.Create())MessageBox(“ReceiveSocketcrea te failed”,“Receive”,MB_I(ON)STOP);
elseTimeClient.connect(strAddr,nPort);
TimeClient.ReceiveFrom(csReceiveText,csCounts,LineEdit.G etWinText,nPort)
MessageBox(TimeClient.csReceiveText);
TimeClient.Close();}