1.先來個在excel編寫的(自己編寫的內容),主要解釋一下客戶端與服務端之間的三次握手連線和四次揮手斷開。
/// /// 繫結ip 和埠
///
///
///
///
public ******server bind(string ip, int port)
/// /// 開始監聽
///
///
///
public ******server listen(int queuecount)
/// /// 非同步傳輸資料(這裡暫時僅實現非同步接收)
///
///
public ******server starttransmission()
private void asyncacceptcallback(iasyncresult ar)
private void asyncreceivecallback(iasyncresult ar)
else
}catch (exception e)
}finally
}public void closeserver()
/// /// 剩餘的 buffer 數量
///
private int remainsize
}private void movebufferindex(int value)
private void readreceivedata()
int count = bitconverter.toint32(mreceivebuffer, 0);
if(length >= count)
else}}
}class program}}
②客戶端
namespace tcpclient
public ******client connetserver(string ip, int port)
public void receive()
public void send(byte databyte)
public void close()
/// /// 將字串轉換為 byte陣列
///
/// 要轉換的字串
/// byte陣列
public byte string2bytes(string datastr)
}class program}}
漢諾塔詳解及C 實現
漢諾塔是典型的遞迴問題,這個問題可以這樣描述 完成目標 將n個block塊從a搬運到c,求需要移動多少次完成?約束條件 搬運的過程中每次只能移動乙個block塊,且不能出現大的block塊在小的block塊之上。詳細分析如下 為了分析將a中的n個block搬到c中,我們先分析一下n分別等於1,2,3...
迪克斯特拉演算法詳解及C 實現
演算法步驟如下 g 1.初始時令 s t v s t中頂點對應的距離值 若存在,d v0,vi 為 弧上的權值 若不存在 d v0,vi 為 2.從t中選取乙個與s中頂點有關聯邊且權值最小的頂點w,加入到s中 3.對其餘t中頂點的距離值進行修改 若加進w作中間頂點,從v0到vi的距離值 4.縮短,則...
插入演算法演算法詳解及實現 c語言
插入排序原理很簡單,將一組資料分成兩組,分別將其稱為有序組與待插入組。每次從待插入組中取出乙個元素,與有序組的元素進行比較,並找到合適的位置,將該元素插到有序組當中。就這樣,每次插入乙個元素,有序組增加,待插入組減少。直到待插入組元素個數為0。實現 include include include 插...