UDP協議使用無連接的套接字,無連接的套接字不需要在網絡設置之間發送連接信息。因此,很難確定誰是服務器誰是客戶機。如果一設備最初是在等待遠程設置的信息,則套接字就必須用Bind方法綁定到一個本地地址/端口對上。完成綁定之後,該設備就可以利用套接字接收數據了。由於客戶機設備沒有一個建立到服務器地址的連接,所以UDP客戶不需要Connect方法。

 

UDP服務器                         UDP客戶機

Socket()                           Socket()

Bind()                               Bind()

ReceiveFrom()ß                 SendTo()

SendTo()                           ReceiveFrom()

Close()                              Close()

由于不存在確定的連接,所以可以直接使用SendTo方法和ReceiveFrom方法發送和接收數據。在兩個設備之間的通信結束後,可以像TCP中使用的方法一樣,對套接字使用Shutdown和Close方法。必須使用Bind將套接字綁定到一個地地址/端口 對上后才能使用ReceiveFrom方法接收數據,如果只發送而不接收,則不需要使用Bind

posted on 2008-12-05 11:21  Blade  阅读(212)  评论(0编辑  收藏  举报