激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

網(wǎng)絡(luò )編程實(shí)習報告

時(shí)間:2022-10-09 22:23:32 實(shí)習報告范文 我要投稿
  • 相關(guān)推薦

網(wǎng)絡(luò )編程實(shí)習報告

  一段忙碌又充實(shí)的實(shí)習生活又告一段落了,相信你一定有很多值得分享的收獲,在實(shí)習報告中記錄下這來(lái)之不易的成果吧。你所見(jiàn)過(guò)的實(shí)習報告應該是什么樣的?以下是小編整理的網(wǎng)絡(luò )編程實(shí)習報告,歡迎閱讀與收藏。

網(wǎng)絡(luò )編程實(shí)習報告

  [實(shí)習目的]

  通過(guò)理論聯(lián)系實(shí)際,鞏固所學(xué)的知識,提高處理實(shí)際問(wèn)題的能力,并為自己能順利與社會(huì )環(huán)境接軌做準備。

  [實(shí)習任務(wù)]

  Linux下網(wǎng)絡(luò )服務(wù)器開(kāi)發(fā);本文總結了我對Linux下網(wǎng)絡(luò )服務(wù)器模型的認識。

  [實(shí)習內容]

  一、循環(huán)服務(wù)器

  1、循環(huán)服務(wù)器在同一個(gè)時(shí)刻只可以響應一個(gè)客戶(hù)端的請求,對多個(gè)客戶(hù)程序的處理是采用循環(huán)的方式進(jìn)行。

  2、UDP循環(huán)服務(wù)器的實(shí)現非常簡(jiǎn)單:UDP服務(wù)器每次從套接字上讀取一個(gè)客戶(hù)端的請求,處理,然后將結果返回給客戶(hù)機。

  2.1、算法如下:socket(...);

  bind(...);

  while(1)

  {

  recvfrom(...);

  process(...);

  sendto(...);

  }

  3、TCP循環(huán)服務(wù)器的實(shí)現也不難:TCP服務(wù)器接受一個(gè)客戶(hù)端的連接,然后處理,完成了這個(gè)客戶(hù)的所有請求后,斷開(kāi)連接。

  3.1、算法如下:

  socket(...);

  bind(...);

  listen(...);

  while(1)

  {

  accept(...);

  while(1)

  {

  read(...);

  process(...);write(...);

  }

  close(...);

  }

  3.2、TCP循環(huán)服務(wù)器一次只能處理一個(gè)客戶(hù)端的請求。只有在這個(gè)客戶(hù)的所有請求都滿(mǎn)足后,服務(wù)器才可以繼續后面的請求。這樣如果有一個(gè)客戶(hù)端占住服務(wù)器不放時(shí),其它的客戶(hù)機都不能工作了。因此,TCP服務(wù)器一般很少用循環(huán)服務(wù)器模型的。

  二、并發(fā)服務(wù)器

  1、為了彌補循環(huán)TCP服務(wù)器的缺陷,人們又想出了并發(fā)服務(wù)器的模型。并發(fā)服務(wù)器的思想是每一個(gè)客戶(hù)機的請求并不由服務(wù)器直接處理,而是服務(wù)器創(chuàng )建一個(gè)子進(jìn)程來(lái)處理。

  2、使用并發(fā)服務(wù)器可以使服務(wù)器進(jìn)程在同一個(gè)時(shí)刻有多個(gè)子進(jìn)程和不同的客戶(hù)程序連接、通信;在客戶(hù)程序看來(lái),服務(wù)器可以同時(shí)并發(fā)地處理多個(gè)客戶(hù)的請求。

  3、算法如下:socket(...);

  bind(...);

  listen(...);

  while(1)

  {

  accept(...);

  if(fork(..)==0)

  {

  close(...);while(1)

  {

  read(...);

  廣東應屆生實(shí)習報告網(wǎng)在線(xiàn)編輯整理本文。

  process(...);

  write(...);

  }

  close(...);

  exit(...);

  }

  close(...);

  }

  4、TCP并發(fā)服務(wù)器可以解決TCP循環(huán)服務(wù)器客戶(hù)機獨占服務(wù)器的情況,改善了對客戶(hù)程序的響應速度;不過(guò)也同時(shí)帶來(lái)了一個(gè)不小的問(wèn)題:為了響應客戶(hù)機的請求,服務(wù)器要創(chuàng )建子進(jìn)程來(lái)處理,而創(chuàng )建子進(jìn)程是一種非常消耗資源的操作,這明顯增加了系統調度的開(kāi)銷(xiāo)。

  5、為了解決創(chuàng )建子進(jìn)程帶來(lái)的系統資源消耗,人們又想出了多路復用I/O模型。

  5.1、該模型一般用函數select和相關(guān)的四個(gè)宏定義:int select(int fd,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout)

  void FD_SET(int fd,fd_set *fdset)

  void FD_CLR(int fd,fd_set *fdset)

  void FD_ZERO(fd_set *fdset)

  int FD_ISSET(int fd,fd_set *fdset)

  5.2、一般的來(lái)說(shuō)當我們在向文件讀寫(xiě)時(shí),進(jìn)程有可能在讀寫(xiě)時(shí)候阻塞,直到一定的條件滿(mǎn)足。

  比如我們從一個(gè)套接字讀數據時(shí),可能緩沖區里面沒(méi)有數據可讀(通信的對方還沒(méi)有發(fā)送數據過(guò)來(lái)),這個(gè)時(shí)候我們的讀調用就會(huì )等待(阻塞)直到有數據可讀.如果我們不希望阻塞,我們的一個(gè)選擇是把socket設置為非阻塞模式來(lái)實(shí)現;int socketfd;socketfd=socket(AF_INET,SOCK_STREAM,0);fcntl(socketfd,F_SETFL,O_NONBLOCK);通過(guò)設置socket為非阻塞模式,可以實(shí)現“輪循”多個(gè)socket,當企圖從一個(gè)沒(méi)有數據等待處理的非阻塞socket讀取數據時(shí),函數立即返回,但是這種“輪循”會(huì )使CPU處于忙等待方式,降低了性能,select函數解決了這個(gè)問(wèn)題;

  5.3、在我們調用select時(shí)進(jìn)程會(huì )一直阻塞直到以下的一種情況發(fā)生。

  1)有文件可以讀.

  2)有文件可以寫(xiě).

  3)超時(shí)所設置的時(shí)間到;

  5.4、算法如下:

  初始化(socket,bind,listen;

  while(1)

  {設置監聽(tīng)讀寫(xiě)文件描述符(FD_*);

  調用select;

  如果是傾聽(tīng)套接字就緒,說(shuō)明一個(gè)新的連接請求建立;

  建立連接(accept);

  加入到監聽(tīng)文件描述符中去;

  否則說(shuō)明是一個(gè)已經(jīng)連接過(guò)的描述符

  進(jìn)行操作(read或者write);}

  多路復用I/O廣東應屆生實(shí)習報告網(wǎng)在線(xiàn)編輯整理本文。

  可以解決資源限制的問(wèn)題。著(zhù)模型實(shí)際上是將UDP循環(huán)模型用在了TCP上面。這也就帶來(lái)了一些問(wèn)題。如由于服務(wù)器依次處理客戶(hù)的請求,所以可能會(huì )導致有的客戶(hù)會(huì )等待很久。

  三、I/O模型

  1、網(wǎng)絡(luò )服務(wù)器模型根據I/O模型的不同實(shí)現而來(lái)的。

  2、I/O模型分為同步I/O和異步I/O;同步I/O又包括阻塞I/O、非阻塞I/O、信號驅動(dòng)I/O、多路復用I/O;可根據不同的要求利用不同的I/O模型實(shí)現不同是網(wǎng)絡(luò )服務(wù)器。

  [實(shí)習心得]

  通過(guò)近幾個(gè)月的實(shí)習,基本上掌握了Linux下C語(yǔ)言網(wǎng)絡(luò )編程的一些算法和技巧,提高了自己的能力。

【網(wǎng)絡(luò )編程實(shí)習報告】相關(guān)文章:

網(wǎng)絡(luò )編程簡(jiǎn)歷范文07-26

編程實(shí)習心得09-29

網(wǎng)絡(luò )編程專(zhuān)業(yè)個(gè)人簡(jiǎn)歷模板08-09

網(wǎng)絡(luò )實(shí)習報告11-24

網(wǎng)絡(luò )的實(shí)習報告11-28

網(wǎng)絡(luò )優(yōu)化實(shí)習報告10-23

網(wǎng)絡(luò )編輯實(shí)習報告06-09

網(wǎng)絡(luò )認識實(shí)習報告02-15

關(guān)于網(wǎng)絡(luò )的實(shí)習報告02-14

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频