原创 【Liunx Socket編程】——socket編程流程,以及創建一個簡單的連接,實現服務器端向客戶端發送數據

簡要概述 創建流程 服務端 創建一個套接字 ——socket() 綁定IP地址、端口等信息到socket上——bind() 監聽套接字——listen() 等待客戶端的連接請求——accept() 發送、接收數據——send()和recv

原创 【Linux Socket編程】——使用多線程,實現簡單的聊天室(TCP協議),手把手教你如何使用

操作系統:Linux 編程語言:c語言 應用技術:socket編程(TCP協議)、多線程 實現功能:簡單的聊天室(服務器端與客戶端可以相互收發消息) 簡要概述 如何建立連接,即socket編程的創建流程,請查看socket編程流程 (

原创 【計算機網絡】——習題解析:UDP 用戶數據報的首部十六進制表示是:06 32 00 45 00 1C E2 17,試求源端口、目的端口、 用戶數據報的總長度、數據部分長度等

UDP 用戶數據報的首部十六進制表示是:06 32 00 45 00 1C E2 17,試求源端口、目的端口、 用戶數據報的總長度、數據部分長度。這個用戶數據報是從客戶發送給服務器發送給客戶?使用 UDP 的這個服務器程序是什麼? 源端口

原创 實例解析CRC(循環冗餘檢驗碼)

循環冗餘校驗碼(CRC),是一種能力相當強的具有檢錯、糾錯能力的校驗碼,常用於串行傳送的輔助存儲器與主機的數據通信和計算機網絡中   爲什麼要使用CRC? (在計算機網絡中的應用) 數據在傳輸過程中,可能會產生比特差錯:1可能變爲0, 0

原创 【Linux Socket編程】——簡述常用的Socket編程函數

操作系統:Linux 主要簡述:Socket編程常用函數 編程語言:c語言 本文涉及到的函數有 socket()、bind()、connect()、listen()、accept()、send()、recv() 涉及到的結構體有 s

原创 實例分析Java接口和抽象類的區別,以及如何去使用它們(JDK1.8 新版本)

在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類 接口,在JAVA編程語言中是一個抽象類型,是抽象方法的集合,一個類通過

原创 【計算機網絡】——信道複用技術,再見了!CDMA

複用:允許用戶使用一個共享通道進行通信,降低成本,提高利用率   將整個帶寬分爲多份,用戶在分配到一定的頻帶後,在通信過程中自始至終都佔用這個頻帶 頻分複用的所有用戶在同樣的時間,佔用不同的帶寬資源   時分複用(TDM) 時分複用則

原创 【算法】——基數排序,一種空間換時間的穩定排序算法

基數排序是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然後按每個位數分別比較 基數排序是一種穩定排序算法,在某些時候,基數排序的效率高於其它的穩定排序 基數排序的方式可以採用最低位優先LSD(Least sgnific

原创 【算法】——選擇排序,實例分析選擇排序算法

選擇排序,將一個序列看做兩個部分,前面有序,後面無序,每次在後面的無序序列中,選擇一個最小的元素,交換到前面有序序列的末尾,直到無序序列全部完成交換,即可完成排序 選擇排序是不穩定的排序算法 如何判斷一個排序算法是否穩定 如果一個待排序列

原创 【算法】——歸併排序,圖解高效的歸併排序算法

歸併排序是一種穩定高效的排序,採用分治策略,將問題分解爲一個個小的問題,然後解決 主要思想 先分解,再歸併 一次歸併只能處理兩個有序序列,所以需要將序列不斷劃分爲更小的序列 當遞歸到最小的時候,每個小序列裏只有一個元素,一定是有序的,所以

原创 【算法】——直接插入排序,通過Java代碼以兩種方式實現

可以理解爲:將一個序列拆分爲兩個,前面那個序列是有序的,後面那個序列是無序的,每次比較都在無序序列中拿出一個元素,插入到有序序列中合適的位置,直到無序序列都被插入完爲止 就好比我們打撲克一樣,每次抓來一張牌,我們都要將它插入到合適的位置,

原创 【算法】——冒泡排序算法,深入詳解(Java、Python兩種語言實現)

冒泡排序算法 依次比較相鄰的兩個數,將小數放在前面,大數放在後面,直到將最大數放在最後,然後進行第二趟比較 第一趟排序: 將序列中的第一個元素與第二個元素比較 如果第一個元素 > 大於第二個元素,則交換 然後比較第二個元素與第三個元素,

原创 【計算機網絡】——學習計算機網絡之前,一定要知道的那些基礎概念和專業術語

計算機網絡的定義 計算機網絡主要是由一些通用的、可編程的硬件互連而成的,而這些硬件並非專門用來實現某一特定目的(例如,傳送數據或視頻信號)。這些可編程的硬件能夠用來傳送多種不同類型的數據,並能支持廣泛的和日益增長的應用。 互連網的定義 互