---
title: "Socket.Select的优化方法"
author: "石心.Yong"
published_by: "Perrin Yong"
canonical: https://www.pystone.net/notes/uwa-answer-socket-select-optimization/
type: note
content_role: source
source_type: "source"
visibility: public
id_stability: rename-stable
source_path: "10-计算机、信息技术与工程/05-游戏图形与运行时/我的UWA问答/2021-06-09 - Socket.Select的优化方法.md"
content_hash: d3d84e90408b1d6b9b140977230173eca88a429f7e1d5f4fd642381b63e3a31e
knowledge_version: 224c990773de.5fa8af6e39fa
site_commit: 224c990773de166d23a886306577dd90379529ce
notes_commit: 5fa8af6e39fa3891d1b9b4832bfa6c4e0ecaaf0a
---
# Socket.Select的优化方法

> **note · 我的 UWA 问答**
> 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者；回答保留当时语境，技术结论可能受 Unity 版本、平台和项目条件限制。

## 问题

![image.png](/media/fd1455ed7c57c53fb50a.png)

麻烦问下大家，系统调用这么高的原因是什么？一般有什么优化方法么

- 提问者：小鹿乱撞
- 提问时间：2021-06-09 08:00:05

## 我的回答

Socket.Select这个函数是用来监听多个端口上Socket的连接状态的，一般用于服务器，并且不常用。时间空间开销都比较大。首先是看客户端是否有必要同时监听多个端口的状态。如果确实需要，也有其他方法可以替代，比如使用常用的Socket API，使用多线程，每个Thread监听一个端口的情况。

- 回答时间：2021-06-09 19:20:45
- 最后更新：2021-06-09 22:23:01
- 采纳状态：未采纳

## 来源与关系

- 上位集合：[我的 UWA 问答](https://www.pystone.net/notes/my-uwa-answers/)
- UWA 标签：内存管理、引擎技术
- 原始问题：[Socket.Select的优化方法](https://answer.uwa4d.com/question/60bf9405608bed3338d78796)
- 源页最后更新：2021-06-09 19:20:45
