//first的main方法
public
class
first
}
//first的傳送執行緒firstsend
public
class
firstsend
implements
runnable
@override
public
void
run()}
}}catch
(ioexception e)
}private
void
senddata
(string data)
throws ioexception
}
//first的接收執行緒firstreesive
public
class
firstrecesive
implements
runnable
@override
public
void
run()}
}catch
(ioexception e)
finally
//如果傳送方沒有結束,則等待100ms
trycatch
(interruptedexception e)}}
}}private string getdataanalysis
(datagrampacket recesivepacket)
}
//second類和first一樣只是接收和傳送的埠號port與ip位址不同(這裡相同都是本機)
//second的main方法
public
class
second
}
//second的傳送執行緒senondsend
public
class
secondsend
implements
runnable
@override
public
void
run()}
}}catch
(ioexception e)
}private
void
senddata
(string data)
throws ioexception
}
//second的接收執行緒secondrecesive
public
class
secondrecesive
implements
runnable
@override
public
void
run()}
}catch
(ioexception e)
finally
//如果傳送方沒有結束,則等待100ms
trycatch
(interruptedexception e)}}
}}private string getdataanalysis
(datagrampacket recesivepacket)
}
思路:根據udp的傳輸過程一步一步實現,其中利用了鎖物件完成了執行緒的同步,利用傳送標誌判斷是否傳送完畢以便於結束會話. 基於UDP協議的socket程式設計
一 socket概述 1.socket一般被稱為 套接字 網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端就叫做socket。2.建立網路通訊連線至少需要乙個埠號 socket socket利用網路之間的通訊設施實現程序通訊,但它對通訊設施的細節不關心,只要通訊設施能夠提供足夠的...
基於UDP協議的socket程式設計
udp協議特點 1.無連線。服務端與客戶端傳輸資料之前不需要進行連線,且沒有超時重發等機制,只是把資料通過網路傳送出去。也正是因為此特點,所以基於udp協議的socket的客戶端在啟動之前不需要先啟動服務端。2.不可靠。資料在本地通過網路發出之後,udp協議會立即清除本地的快取,即使對方沒有收到該資...
基於QT的UDP協議的通訊
不選用gui project new project as following 一.new qt4 project select empty project 二,add new select general text file main.cpp 三,add new c select header f...