Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Sockets在C中编写图像流服务器_C#_Sockets_Bitmap - Fatal编程技术网

C# 使用Sockets在C中编写图像流服务器

C# 使用Sockets在C中编写图像流服务器,c#,sockets,bitmap,C#,Sockets,Bitmap,我正在编写一个服务器,使用套接字流式传输我的桌面捕获 由计时器控制的方法在捕获桌面并将其转换为位图后,每隔100毫秒返回一个位图。 我计划要做的是将位图写入全局缓冲区,并在每个客户端的连接上以while循环将该缓冲区写入客户端的相关套接字,直到连接关闭。通过使用线程池为每个客户机提供服务 然后我有两个问题 直到客户端断开连接,while循环才是whiletrue循环。当连接多个客户端时,由于多个循环正在运行,这种方式可能会大量使用处理器。那么如何处理呢? 当连接多个客户机时,由于我使用的是一个缓

我正在编写一个服务器,使用套接字流式传输我的桌面捕获

由计时器控制的方法在捕获桌面并将其转换为位图后,每隔100毫秒返回一个位图。 我计划要做的是将位图写入全局缓冲区,并在每个客户端的连接上以while循环将该缓冲区写入客户端的相关套接字,直到连接关闭。通过使用线程池为每个客户机提供服务

然后我有两个问题

直到客户端断开连接,while循环才是whiletrue循环。当连接多个客户端时,由于多个循环正在运行,这种方式可能会大量使用处理器。那么如何处理呢? 当连接多个客户机时,由于我使用的是一个缓冲区,客户机的等待时间可能会因为锁而很长。那么除了这个,还有其他合适的方法吗?
任何帮助都将不胜感激

为什么不使用事件并让每个连接订阅新的映像事件,而不是使用轮询循环来查找新映像。谢谢。。我觉得这对我有帮助