⑴ QQ是怎樣實現消息傳遞的
1. QQ之間的消息是通過TCP協議和UDP協議進行傳遞的。
2. 但這TCP協議和UDP協議不僅僅是我們通用的協議,騰迅還在這些協議上加了一些自己的東西,也就是雙方必須遵守相同的協議才能通訊,即我們必須用騰迅給我們的客戶端才能連上騰迅的伺服器進行聊天。
3.因為UDP協議是不可靠傳輸,因此採用UDP協議的信息在傳送過程中很容易丟失,所以QQ使用輔助演算法實現包重傳機制以保證信息不會丟失。當消息在客戶間直接傳送無法到達時就才使用TCP協議通過伺服器中轉。
⑵ 請問:一個qq消息發出到另一個人接收,操作系統做了什麼網路各層是怎麼傳輸的
這是一個網路原理問題。一端的QQ應用程序發送一個信息到本操作系統的應用層,應用層使用適當的埠號(一般是4000/8000)封裝遞交給網路層,網路層使用源和目標IP地址(一般是QQ伺服器IP地址)封裝為數據包傳遞給數據鏈路層,數據鏈路層使用Mac地址進行幀封裝遞交給物理層,網路層使用有線或無線網路介質發送給默認網關。默認網關根據目標IP地址查找路由表發送到外網,這樣一站站發送到QQ伺服器。QQ伺服器根據信息中的QQ號碼找到對方的IP地址,與前面封裝及傳輸類似把信息傳輸到接收端,接收端操作系統再從低到高進行解封裝,最後傳遞到接收端的QQ應用程序顯示出來信息。
⑶ 兩個人聊QQ發消息的實現過程(利用計算機網路的原理解釋)
你好,很高興回答你的問題。
兩個人擁有賬號,調用了資料庫。
聊天用到了軟體時實傳輸,將打的字在單擊發送的時候,通過傳輸線路,加密,到達伺服器,通過伺服器解密,再加密進行數據傳輸到達對方的窗口顯示。
希望能夠幫到你。
⑷ QQ聊天時,數據包傳輸的過程
QQ傳送數據的方式是UDP連接(非面向連接)
QQ發送數據包的時候會檢測網路,當你發送的對象和你在同一區域網的時候文件就直接通過本地網路連接設備發送過去了,當發現對方不和你在同一區域網的時候就通過路由向公網轉發你的數據包,所以內網傳輸比你公網傳輸快
⑸ qq傳輸文件原理是什麼,
QQ是一個基於TCP/UDP協議的通訊軟體,在 TCP/IP協議中,唯一標識一個應用進程的是socket,它通過網路層的IP地址和傳輸層的埠號來實現,對與同一個IP地址的內部網路,通過不同的埠號來標識不同的QQ進程;當你登陸QQ伺服器的時候,伺服器會保留你的保留IP地址和埠號信息,並在你的好友的QQ進程中進行列表顯示,然後兩個進程就可以通信了。
通常,發送文件的計算機首先要通過消息伺服器將其IP地址發送給接收計算機,當接收計算機同意接收的確認消息反饋到消息伺服器後,消息伺服器將據此設置好文件傳輸對話。隨即,發送計算機與接收計算機就會在確定好的埠范圍內,建立起TCP或UDP連接開始文件的檢索與傳輸。 在默認狀態下,QQ優先採用了UDP(User Data Protocol,用戶數據報協議)協議傳送數據,而對可靠性要求高的數據通訊系統往往使用TCP協議傳輸數據。與TCP協議不同,UDP協議並不提供數據傳送的驗證機制——在整個文件傳輸過程中如果出現數據報的丟失,協議本身並不能作出任何的檢測或提示。因此,通常人們把UDP協議稱為不可靠的傳輸協議。 UDP協議適用於無須應答、要求時效的軟體使用,這樣的設計正好與QQ追求的目標相符,所以QQ優先使用了此協議進行一切功能應用。但是,由於UDP協議具有不可靠性,常會因種種原因導致消息或數據的發送失敗(很多時候會發現發送文件給對方接收時,對方根本收不到要求接收文件的消息。或是發送聊天消息時,對方根本沒有收到過消息)。顯然,UDP協議由於排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執行時間,使速度得到了保證。QQ在數據傳輸上更注重實際性能,為了獲得更好的使用效果,往往可以犧牲一定的可靠性。
⑹ 伺服器跟資料庫有關系嗎QQ是怎麼接收發信息的呢請大神詳細介紹一下吧
qq收發信息是通過通信協議來實現的,qq登陸電腦之後會有一個IP,還要一個埠號。qq登陸之後會獲得本機的IP和埠號,這個就可以給對方首發信息了。如果對方離線,所發的信息會保存到伺服器,當對方qq上線之後伺服器就會將離線信息發送給對方了。
當然了,所有的聊天記錄都保存在伺服器的資料庫裡面的。
⑺ 詳細論述qq上傳送數據的詳細過程
大家知道,網路的一個基本特點是允許資源的共享。在許多時間里。這種共享通過兩個獨立的程序來完成,他們分別運行在不同的計算機上。一個程序稱為伺服器程序(伺服器),提供特定的資源;另一個程序稱為客戶程序(客戶端)。用來使用資源。二者統稱為客戶端/伺服器系統(client/server system)。
基本的工作過程如下:
1、用戶連接到ISP,並發出一個請求,大多數用戶都是使用MODEN通過電話線連接;
2、ISP通過告訴連接將請求傳送到最近的服務訪問點;
3、請求路過路干網路到達最近的服務訪問點;
4、服務點將請求再送到信宿的ISP;
5、信宿的服務提供商將請求發送到包含信宿計算機的路由器;
6、信宿計算機接到請求,並沿相同路徑發送回請求的文件;
這里就不得不提提TCP/IP協議了。
計算機網路是由許多計算機組成的,要實現網路之間的數據傳輸,必須要做好兩件事,即數據傳輸目的地址和保證數據迅速可靠傳輸的措施。INTERNET使用一種專門的計算機協議,以保證數據安全、可靠地到達指定的目的地,這種協議分為兩部分:TCP(Transmission Control Protocol傳輸控制協議)和IP(Internet Protocot網間協議),TCP協議主要負責傳輸的可靠性,而IP協議負責數據的傳輸。TCP/IP所採用的通信方式是分組交換方式。分組交換是指數據在傳輸時分成若干段,每個數據段稱為一個數據包,數據包除含有一定長度的正問外,還含有數據包將被送往的地址(這個地址稱為IP),數據包經過多台計算機的中轉最終達到它的目的地。TCP/IP協議的基本傳輸單位就是數據包。
數據傳輸過程如下:
1、首先由TCP協議把數據分成若干數據包,給每個數據包寫上序號,以便接受端把數據還原成原來的格式;
2、IP協議給每個數據包寫上發送主機和接受主機的地址,一旦寫上它的源地址和目的地址,數據包就可以在物理網上傳送數據了。IP協議還具有利用路由演算法進行路由選擇的功能;
3、這些數據包可以通過不同的傳輸路徑(路由)進行傳輸。由於路徑不同,加上其他的原因,可能出現順序顛倒、數據失真甚至重復的顯示。這些問題都由TCP協議來處理,它具有檢查和處理錯誤的功能,必要時還可以請求發送端重發。
總而言之,盡管IP協議使計算機能夠發送和接收數據,提供了一種將數據包從源地址傳送到目的地的方法,但IP並未解決數據包在傳送過程中所有可能出現的問題,如數據包丟失後的重發和重排數據包及數據包亂序到達等,因此使用INTERNET的計算機還需要TCP協議來提供可靠的無差錯的通信服務,達到互相配合互相補充的目的。兩者結合在一起,提供了一種在INTERNET上可靠的傳輸數據的方法。TCP和IP是互補的,TCP處理IP沒有處理的通信為體,向應用程序提供可靠的通信連接。
看到這里,相信大家對網路通信都有了一個了解。而對於QQ在聊天時出現信息丟失、延遲接收、重復接收或接收時間錯亂等情況,絕大多數情況下是由於網路繁忙造成INTERNET負荷運行引起的,目前並沒有解決方法,只期待能有一種全新的成熟的通信協議技術問世。所以,當大家遇到這些問題時也不要再到處鬧了,冷靜下來做些其他的事,或者避開上網高峰期!