在多線程中使用相同的套接字fd可以嗎? (在Linux上)多線程中的套接字fd
1
A
回答
3
這取決於你期望發生什麼,但是你可以。如果您正在讀取每個完整消息的UDP數據包,則可以正常工作。如果您正在從TCP讀取數據流,則可能無法正常工作。
您可以讓多個線程接受套接字上的傳入連接,並且可以在每個線程獲得一個連接時工作得非常好。
1
您將遇到嘗試從多個線程發送()或recv()(SOCK_STREAM)的併發問題。您應該使用關鍵部分或其他方式創建對send()和recv()的串行訪問。
線程的一個標準事情是讓主服務器監聽()& accept(),然後將套接字傳遞給從該套接口發送/接收/處理的客戶端線程。客戶端線程負責調用close()或shutdown()。
相關問題
- 1. C++ Linux TCP套接字fd
- 2. python套接字多線程
- 3. 多線程套接字
- 4. Java多線程,套接字
- 5. 套接字和多線程
- 6. Python中的多線程套接字
- 7. 多線程中的python套接字recv
- 8. Android多線程程序中的多個套接字連接
- 9. 多線程套接字連接C#?
- 10. 獲得擁有PID的套接字fd
- 11. Linux套接字和多線程程序
- 12. 多線程Udp套接字編程
- 13. 避免在多線程套接字應用程序中重複使用相同的fd號
- 14. 套接字FD在哪裏存儲?
- 15. 從'struct sock'派生套接字fd
- 16. 在java多線程環境中關閉套接字和線程
- 17. Java多線程服務器套接字
- 18. 套接字多線程問題
- 19. C++ - 套接字和多線程
- 20. C#套接字和多線程
- 21. 多線程與非阻塞套接字
- 22. 多線程寫入套接字
- 23. 套接字多線程實現C
- 24. GUI多線程和套接字
- 25. TCP IP套接字和多線程
- 26. 在多線程應用程序中創建套接字文件描述符(sock fd)
- 27. Java套接字程序中的多線程
- 28. Java中的線程和套接字
- 29. Objective-C中的線程和套接字
- 30. 套接字C#線程