TCP服務器實例
按照基本的套接字編程流程,建立服務器,我們只需要調用socket、bind、listen、accept、send、recv、closesocket函數即可,如程序清單4,首先使用socket函數創建TCP類型的套接字,然后調用bind函數綁定本地網卡的IP地址和端口號,使用listen監聽客戶端的請求,然后accept函數將阻塞等待客戶端的請求連接,當服務器監聽到有客戶端請求連接時,accept退出阻塞狀態,建立連接,進入循環,使用send、recv收發數據。當數據傳輸完成后,使用closesocket關閉連接,回收資源。
程序清單4 非阻塞服務器




程序編寫完成后,將服務器例程入口函數demo_tcp_server_block_entry()放入主函數中編譯、下載到開發板,程序運行后在shell界面可看到服務器已經啟動,如圖9。

圖9 服務器啟動
服務器啟動后,同樣使用TCP上位機軟件建立客戶端進行測試,指定服務器的IP和端口號,如圖10。

圖10 創建客戶端