?UDP有明確的結(jié)束標志,不會有粘包的,UDP本身有對數(shù)據(jù)完整性的校驗,不完整的包會被丟棄,所以也不會不完整。如果你是指一次會受到2-3個UDP包,那只要根據(jù)開頭和結(jié)束標記分割就行了。TCP的話,只要所需數(shù)據(jù)塊的大小是確定的,然后每次接受的數(shù)據(jù)根據(jù)長度,不足就繼續(xù)收,超過就把剩余的存下來與下次的接受合并,就可以解決粘包問題。
在公司最近項目中,有關設備搜索采用UDP廣播方式搜索,出現(xiàn)的情況是,部分機器能正常接收到廣播包,部分機器接收不到廣播包,部分機器發(fā)送不了廣播包情況,經(jīng)過N天的查詢,結(jié)果發(fā)現(xiàn)驚人的秘密:虛擬機網(wǎng)卡導致廣播包發(fā)送不出去或接收不到問題?。?!?
參考文章
http://www.2cto.com/kf/201401/275852.html
http://my.oschina.net/leejun2005/blog/104955
http://blog.csdn.net/naturebe/article/details/6712153
http://ju.outofmemory.cn/entry/84775