scoket通訊之零

2022-08-12 03:42:13 字數 974 閱讀 1410

計算機網路大作業終於落下帷幕,經過兩周的學習、查資料,終於完成了老師布置的任務。下面對計算機網路進行乙個總結,首先將從socket通訊的最基礎開始,然後實現客服端到服務端的通訊、客戶端和客戶端之間的通訊,最後實現乙個模仿qq聊天的小程式。

電腦程式如何通過網路進行相互通訊呢?首先要理解什麼是計算機網路,計算機網路由一組通過通訊通道相互連線的機器(主機和路由器)組成,通過協議(protocol)來達成相互通訊程式間的一種約定。下面這張很好的展示了應用程式通訊的過程,應用程式通過套接字介面對udp協議和tcp協議提供的服務進行訪問,經過tcp協議層和ip協議層,通過網路等,最後將資料傳輸到另一端的應用程式。

乙個tcp/ip網路 

在tcp/ip協議中,有兩部分資訊來定位乙個指定的程式:網際網路位址埠號。從上圖可以看出,通過tcp/ip等協議,使兩個主機間的一系列通訊通道和路由器看起來像是單獨一條主機到主機的通道。ip協議將資料傳送到指定的主機,tcp、udp協議通過埠號,來區分同一主機中的不同應用程式。

上面說了一些計算機網路的基礎知識,下面進入正題,什麼是套接字?

socket(套接字)是一種抽象層,應用程式通過它來傳送和接收資料。使用socket可以將應用程式新增到網路中,並與處於同乙個網路中的其他應用程式進行通訊,乙個tcp/ip套接字由乙個網際網路位址,乙個端到端協議,以及乙個埠號唯一確定。(socket 的原意是「插座」,在計算機通訊領域,socket 被翻譯為「套接字」,它是計算機之間進行通訊的一種約定或一種方式。通過 socket 這種約定,一台計算機可以接收其他計算機的資料,也可以向其他計算機傳送資料。)

基於udp的scoket通訊

1.udp例子1 udpserver.py udp的server,不需要進行監聽也不需要建立連線 在啟動服務之後只能被動的等待客戶端傳送訊息過來 客戶端傳送訊息的同時還會自帶位址資訊 server訊息回覆的時候,不僅需要傳送訊息,還需要帶上對方的位址 import socket sk socket....

嵌入式linux實現scoket通訊 語言)

等待客戶端的連線 include include include include include include include intmain printf socket ok r n 填充伺服器埠位址資訊,以便下面使用此位址和埠監聽 bzero s add,sizeof struct socka...

程序通訊之管道通訊

管道通訊有乙個特點 通訊是半雙工的,即管道的一端只能讀或者只能寫 管道通訊可以分為 匿名管道通訊和命名管道通訊兩種 1.匿名管道通訊 適合用於父子程序間的通訊 include include include 匿名管道通訊,本機父子程序通訊方式 int main else waitpid pid,nu...