總結udp傳輸協議的非同步實現。
visual studio 2010
伺服器端**:
usingsystem;
using
system.collections.generic;
using
system.text;
using
system.net;
using
system.net.sockets;
using
system.threading;
namespace
asyncserver
//非同步udp類
public
class
asyncudpsever
public
void
receivemsg()}}
//接收**函式
private
void
receivecallback(iasyncresult iar)
", receivestring);
receivedone.set();
sendmsg();}}
//傳送函式
private
void
sendmsg()
個udp請求處理完成!
", udpsendstate.counter);
byte sendbytes =encoding.unicode.getbytes(message);
udpsend.beginsend(sendbytes, sendbytes.length,
newasynccallback(sendcallback), udpsendstate);
senddone.waitone();
}//傳送**函式
private
void
sendcallback(iasyncresult iar)
個請求處理完畢!
", udpstate.counter);
console.writeline(
"number of bytes sent:
", udpstate.udpclient.endsend(iar));
senddone.set();
}//主函式
public
static
void
main()
}}
客戶端**:
usingsystem;
using
system.collections.generic;
using
system.text;
using
system.net;
using
system.net.sockets;
using
system.threading;
namespace
asyncclient
//非同步udp類
public
class
asyncudpclient
//傳送函式
public
void
sendmsg()}}
//傳送**函式
public
void
sendcallback(iasyncresult iar)
個傳送完畢!
", udpstate.counter);
console.writeline(
"number of bytes sent:
", udpstate.udpclient.endsend(iar));
//if (udpstate.counter == 10)}}
//接收函式
public
void
receivemessages()
}//接收**函式
public
void
receivecallback(iasyncresult iar)
", receivestring);
receivedone.set();}}
//主函式
public
static
void
main()
}}
udp的非同步實現,具有更高的效率,應用例項見博文「基於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...