溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vxworks中如何實現TCP

發(fā)布時間:2021-12-22 10:29:30 來源:億速云 閱讀:411 作者:小新 欄目:互聯網科技

這篇文章主要為大家展示了“vxworks中如何實現TCP”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vxworks中如何實現TCP”這篇文章吧。

TCP,全稱應該是Transmission Control Protocol,一個面向連接的傳輸層協(xié)議,提供可靠的字節(jié)流傳送。通信時,與UDP類似,采用的也是C/S模式,即啟動一個Server,負責阻塞接收,其它的Client連接后發(fā)送數據。不過整個流程比UDP要復雜一些,傳輸效率也低一些

先看Client端,要簡單一些

  • Client調用socket()打開一個Socket

vxworks中如何實現TCP

  • Client調用connect()連接到指定的Server

  • Client調用send()發(fā)送數據

vxworks中如何實現TCP

  • 最后調用close()關閉Socket 

而Server要復雜一些

  • Server調用socket()打開一個Socket

  • Server調用bind()指定Port等信息

  • Server調用listen()開始監(jiān)聽Client

  • Server調用accept()等待Client的接入

  • Server調用recv ()阻塞接收

  • 最后調用close()關閉Socket

Server為了支持多個Client的接入,可以多次調用accept();為了并行處理這多個Client,可以將每個Client的recv()放到單獨的任務中

另外,Service也可以調用send(),Client也可以調用recv()
而且,Socket是一種虛擬IO,數據處理完畢后,雙方需要調用close()關閉各自的Socket,還可以用read()代替recv(),用write()代替send()   
另外幾個函數和數據結構如下,函數入參一般用的類型是sockaddr結構,而聲明的變量一般要用sockaddr_in結構來指定Port和IP,其實它倆是一回事

vxworks中如何實現TCP

寫個最簡單的示例

Client如下

vxworks中如何實現TCP

以上是“vxworks中如何實現TCP”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI