當前位置:編程學習大全網 - 編程軟體 - linux網絡編程中如何實現服務器端多個read()和客戶端write( )

linux網絡編程中如何實現服務器端多個read()和客戶端write( )

妳說的是服務器可以同時接收多個客戶端發來的數據吧?

如果是這樣的話,我有兩種思路:

在客戶端與服務器建立連接時候,服務器用pthread系列函數給客戶端開壹個線程,由於線程是並發執行的,因此可以實現多個客戶端同時和服務器交互的情況。

使用select系統調用,把監聽套接字加入到監聽描述符集中,如果select成功返回說明描述符集合中有動作,這時候根據描述符類型進行操作,例如如果是監聽套接字收到請求則我們服務器可以建立連接把客戶套接字保存在集合中,如果是客戶端套接字收到請求我們可以進行收發數據,但是用select的話,對單個客戶的處理時間不能過長。

因此對應服務器有兩種:並發服務器(思路1)和輪詢服務器(思路2),但是我的主張是妳學壹下多線程,然後構建並發服務器好點,畢竟這是主流,妳學了網絡編程,在百度上搜索pthread簡單學壹下即可。不懂的話請繼續提問,純手打請支持o.0

  • 上一篇:電磁爐旋鈕開關原理
  • 下一篇:UG建模環境為什麽不能選擇草曲線拉伸?
  • copyright 2024編程學習大全網